1.̟̞
Îļþ¡¢±äÁ¿ÃüÃûʹÓÃСд£¬²¢Ê¹Óá°_¡±·Ö¸î
º¯ÊýÃüÃû²ÉÓÃÍÕ·åÐÎʽÃüÃû
2.×é¼þ½çÃæÃüÃû
ÔÚ¶¨Òå½çÃæ»ò×é¼þµÄʱºò£¬½¨Òé¸ù¾ÝʹÓÃÀàÐ͵IJ»Í¬£¬·½±ãʹÓÃÊ±Çø·ÖÒÔ¼°Î¬»¤£¬¼ÓÉϲ»Í¬µÄºó׺£¬¹æ·¶ÈçÏÂ:
Îı¾¿ò(Label): _lb
¸»Îı¾(RichText): _rt
½Úµã(Node): _nd
°´Å¥(Button): _btn
¾«Áé(Sprite): _sp
¸´Ñ¡¿ò(CheckBox): _cb
ÊÓͼ(ScrollView): _sv
·Ò³(PageView): _pv
»¬¶¯Ìõ(Slider): _sd
¼ÓÔØÌõ(LoadingBar): _lb
Ãæ°å(Layout): _ly
±êÇ©×é(ToggleContainer): _tc
±êÇ©Ïî(Toggle): _tg
Àý£º
ÔÚʹÓÃÒ»¸öhead_icon£¬ÐèÒªNode½øÐÐλÖÿØÖÆ£¬Í¬Ê±ÓÖÐèÒªSprite½øÐÐÉèÖÃÍ·Ïñ£¬ÃüÃû ÈçÏ£º
this.head_icon_nd = this.seekChild("heand_icon");
this.head_icon_sp = this.seekChild("heand_icon", cc.Sprite);
3.JS ¶ÔÏó¹ÜÀí
(1) ËùÓÐnew³öÀ´µÄJS¶ÔÏó£¬×îºó±ØÐëͨ¹ýdelete»òÕß½«ÆäÒýÓñäÁ¿ÖÿÕÀ´À´´ï
µ½À¬»ø»ØÊÕµÄÄ¿µÄ£»
(2) ¼Ì³Ð×ÔbaseviewµÄ¶ÔÏó£¬Ïú»ÙʱҪÏȵ÷ÓÃclose·½·¨£¬ÔÙ½«ÒýÓÃÖÿգ»
(3) ¼Ì³Ð×Ôviewclass¡¢basepanelµÄ¶ÔÏó£¬Ïú»ÙʱҪÏȵ÷ÓÃdeleteMe£¬ÔÙ½«ÒýÓÃ
Öÿգ»
(4) ͨ¹ý new cc.Node() ´´½¨³öÀ´µÄ½Úµã£¬ÔÚ²»ÓõÄʱºòÒªµ÷ÓÃNodeµÄdestroy
·½·¨Ïú»Ù£¬È»ºóÖÿգ»
4.ÊÓͼÀàʹÓÃ
ËùÓеÄÊÓͼÀà¿ÉÓÉ viewclass¡¢baseview¡¢basepanel¼Ì³Ð¶øÀ´£¬¾ßÌåÇø±ðÈçÏ£º
(1) viewclassÊÇËùÓÐÊÓͼÀàµÄ»ùÀ࣬·â×°ÁËʼþ¹ÜÀí¡¢×ÊÔ´¼ÓÔØÊÍ·Å¡¢¼ÆÊ±Æ÷¹Ü
Àí¡£baseview¡¢basepanel¾ù¼Ì³ÐÓÚ´Ë£¬Í¬Ê±Ò»Ð©Ð¡µÄitemÒ²¿ÉÒÔÖ±½Ó¼Ì³Ð×Ô viewclass
(2) baseviewÊÇËùÓд°¿ÚÀàµÄ»ùÀ࣬ÀïÃæ·â×°Á˲㼶¹ÜÀí¡¢ÊÓͼ»º´æµÈ£»
(3) basepanelÊÇÃæ°åÀàµÄ»ùÀ࣬ÀïÃæÊµÏÖÁËÊÓͼµÄÏÔÒþ²Ø£»
×¢Ò⣺
֮ǰcommon_scrollviewÖеÄitem±ØÐëÒªÇóÊǼ̳Ð×Ôbasepanel£¬×îеİ汾¼æÈÝ
Á˼̳Ð×ÔviewclassµÄÊÓͼ£¬Ê¹Æä¿ÉÒÔÕý³£µÄcommon_scrollviewÖÐÏÔʾ¡£
5. ¹ØÓÚ¼ÆÊ±Æ÷ºÍ·ÖÖ¡¼ÓÔØµÄʹÓÃ
viewclassÖÐÐÂÔöÁËstartUpdageº¯Êý£¬ÓÐÈçÏÂÁ½ÖÖʹÓ÷½Ê½£º
(1) Ö±½Óµ÷ÓÃthis.startUpdage() º¯Êý£¬ÖØÐ´updateº¯Êý£¬¾Í»á¿ªÆôupdateº¯Êý
µ÷Ó㬲¢ÇÒÔÚ²ÎÊýÖзµ»ØÊ±¼ä¼ä¸ô£¬ÊÓͼÏú»Ù¸Ä¶¨Ê±Æ÷×Ô¶¯Ïú»Ù¡£´Ë·½·¨Ö÷Òª
ÓÃÓÚµ¹¼ÆÊ±µÄ¸üУ¬·ÖÖ¡ÓÅ»¯Ò²¿ÉÒÔ¡£
(2) ʹÓÃthis.startUpdage(times, callback), ´«Èë×ܹ²ÐèÒª¸üеĴÎÊýºÍ»Ùµô
º¯Êý£¬viewclass»á¿ªÆôµ÷Ó㬲¢ÇÒÔڻص÷º¯ÊýÖзµ»Øµ÷ÓôÎÊý£¬µ÷ÓôÎÊýÍê±Ï×Ô¶¯
Ïú»Ù¶¨Ê±Æ÷£¬²¢ÇÒ¶à¸ö¼ÆÊ±Æ÷,Ö÷ÒªÓÃÓÚ·ÖÖ¡´´½¨¡£
ËùÓмÆÊ±Æ÷¾ù¿ÉÊÖ¶¯Ïú»Ù£»
Àý£º
// µ¹¼ÆÊ±¸üÐÂ
ctor: function() {
var main_loop_handler = this.startUpdage()
// ֹͣ
this.stopUpdate(main_loop_handler);
},
update: function(dt) {
this.free_call_time -= dt;
},
// ·ÖÖ¡´´½¨30¸öitem
ctor: function() {
var create_hanlder = this.startUpdage(30, this.creatItem.bind(this));
// Í£Ö¹¸üÐÂ
this.stopUpdate(create_hanlder);
},
creatItem: function(index) {
this.item_list[index] = new TestItem(this.item_data[index]);
},
6.×ÊÔ´·ÖÀà
-- prefab ½çÃæÔ¤ÖÆ
-- res ¶¯Ì¬icon
-- sound ÉùÒô
-- spine spien¶¯»
-- ui_res ½çÃæicon
(1) ËùÓм¯³É×ÔviewclassµÄÀàʹÓÃthis.loadRes()´«Èë·¾¶»ñÈ¡×ÊÔ´£»
(2) ËùÓе÷ÓÃLoaderManager.loadRes×ÊÔ´£¬ÒªÊ¹ÓÃLoaderManager.releasResÊÍ
·Å
7.½çÃæºÍicon×ÊԴʹÓÃ
(1) ²»ÔÙʹÓüÓÔØÍ¼¼¯µÄ·½Ê½È¥¼ÓÔØ×ÊÔ´£¬getResFrame¡¢getPlistPath£¬ÒѾ·Ï
Æú£¬¾É½Ó¿ÚÒѾȫ²¿Ìæ»»£¬²¿·ÖÄ£¿éÓÐÎÊÌâµÄ»°×ÔÐмì²é¡£ÐÂÄÚÈÝ£¬È«²¿Ê¹
ÓüÓÔØÉ¢Í¼µÄ·½Ê½È¥¼ÓÔØ¡££¨ÒѼæÈÝ·¢²¼ºóµÄºÏͼ£©
(2) ¶¯Ì¬¼ÓÔØicon×ÊÔ´ÈçÏ£º
var icon_path = PathTool.getIconPath("skillicon", res_name);
this.loadRes(icon_path, function(skill_item, sf_obj){
skill_item_sp.spriteFrame = sf_obj;
});
(3) ¶¯Ì¬¼ÓÔØ½çÃæicon×ÊÔ´ÈçÏ£º
var icon_path = PathTool.getUIIconPath("friend", "friend_" + 5)
this.loadRes(icon_path, function(sf_obj){
this.img.spriteFrame = sf_obj;
}.bind(this))
(4) ½çÃæÉÏʹÓõÄ×ÊÔ´ºÍ¶¯Ì¬icon×ÊÔ´Ö»ËùÒÔ·Ö¿ª½Ó¿Ú£¬Ö÷ÒªÊÇΪÁ˹æ±Ü×Ô¶¯Í¼
¼¯¿ÉÄÜ´æÔÚµÄһЩ¿ÓÐèÒªµ¥¶À´¦Àí¡£
(5) ÐÂ×ÊÔ´µÄprefabÈ«²¿Êǽű¾Ìæ»»×ÊÔ´µÄ£¬ÈçloadPrefab¼ÓÔØÊ§°Ü£¬ÊÖ¶¯´ò¿ª
Ò»´Î£¬µã±£´æ£¬ÖØÐÂÔËÐм´¿É¡£
8.¸»Îı¾Ê¹ÓÃ:
(1) ͼÎÄ»ìÅÅʹÓãº
ºÏͼʹÓòο¼¹Ù·½Îĵµ
Ð޸ĺóµÄ¸»Îı¾Í¬Ê±Ö§³ÖºÏͼºÍɢͼ£º
this.test_rich = this.test_rt_nd.getComponent(cc.RichText);
this.test_rich.string = "
"£» // 666ΪɢͼÃû³Æ£»
cc.loader.loadRes("test/6666", cc.SpriteFrame, function(err, test_sf) {
this.test_rich.addSpriteFrame(test_sf); // Ïò¸»Îı¾Ìí¼Óɢͼ
}.bind(this));
(2) Ϊ¸»Îı¾Ìí¼Óµã»÷ʼþºÍ²ÎÊý
// paramΪ²ÎÊý handlerΪ¾ä±ú±êʶ
this.test_rich.string = " click me! "
// onClickItem Ϊ»Øµ÷º¯Êý
this.test_rich.addTouchHandler("handler", this.onClickItem.bind(this));
(3) Ϊ¸»Îı¾Ìí¼Ó±íÇé
this.test_rich.string = "
"
cc.loader.loadRes("test/E61526/action", sp.SkeletonData, function(err, test_sf) {
this.test_rich.addEmojiAtlas(test_sf, "E61526");
}.bind(this));