creator基本內(nèi)容

一、基本內(nèi)容:

1.cc.Label相關(guān):

(1)動(dòng)態(tài)創(chuàng)建cc.Label : var node = new cc.Node('text'); node.addComonpnet(cc.Label);

(2) 設(shè)置文本內(nèi)容:node.getComponent(cc.Label).string = 'test'; 設(shè)置大谐┭啤:node.getComponent(cc.Label).fontSize = 30 文本對(duì)齊:參考creator中

(3) 如何動(dòng)態(tài)獲取文本的寬度: node.getComponent(cc.Label).string = 'test'; var getWidth = node.width;這樣即可獲得寬度;注意事項(xiàng):要讓node所在父節(jié)點(diǎn)active =true知举,即讓js腳本調(diào)用onload函數(shù)之后拧篮,才能正確獲取with;

(4) 文本長(zhǎng)度超出creator中設(shè)定長(zhǎng)度時(shí)不顯示:node.getComponent(cc.Label).overFlow = cc.Label.Overflow.CLAMP 還有其它幾種模式暫時(shí)沒(méi)用到后續(xù)研究,這里說(shuō)下含義,NONE(無(wú)樣式)隐岛、CLAMP(截?cái)啵┦贩伞HRINK(自動(dòng)縮小文字以適應(yīng)大屑饣琛)仰税、RESIZE_HEIGHT(自增長(zhǎng)高度)

2.cc.Sprite相關(guān)

(1)動(dòng)態(tài)創(chuàng)建cc.Label : var node = new cc.Node('text'); node.addComonpnet(ccSprite);

(2)設(shè)置圖片:node.getComponent(cc.Sprite).spriteFrame = new cc.SpriteFrame(texture);

a) 精靈幀獲取的獲取方法1:new cc.SpriteFrame(texture); 優(yōu)點(diǎn):動(dòng)態(tài)加載构资,缺點(diǎn):會(huì)有異步問(wèn)題

那么texture如何獲取陨簇?cc.loader.load({url: cc.mg.util.get_wxhead(userData.url), type: 'jpg'}, function (err, texture) {
var head = new cc.SpriteFrame(texture);
dialog.getChildByName('face').getChildByName('mask').getChildByName('tx').getComponent(cc.Sprite).spriteFrame = head;
});

b) 精靈幀獲取的獲取方法2:界面綁定的腳本,即.js文件properties: 中定義 frame : cc.SpriteFrame吐绵,然后在creator中將圖片拉倒這個(gè)frame上迹淌。優(yōu)點(diǎn):初始化加載,方便使用己单。缺點(diǎn):會(huì)有內(nèi)存大唉窃,加載速度慢

3.cc.Animation相關(guān)

(1)動(dòng)畫播放和停止:node.getComponent(cc.Animation).play;node.getComponent(cc.Animation).stop();

(2)注冊(cè)動(dòng)畫播放完成事件:node.getComponent(cc.Animation).on('finished', function(){cc.log('finish')};

(3)備注:creator中默認(rèn)有個(gè)playOnLoad屬性需要注意:含義是在第一次active設(shè)為可見(jiàn)的時(shí)候會(huì)自動(dòng)播放動(dòng)畫,如果不需要可以不勾選纹笼。

4.ToggleGroup相關(guān)

定義:組合框(多項(xiàng)中只能選擇一項(xiàng))

(1)怎么獲取toggle(其中的一項(xiàng)):this.togglegroup.toggleItems[0]纹份;這代碼訪問(wèn)第一項(xiàng)。

(2)怎么獲取toogle是否選中:this.togglegroup.toggleItems[0].check()廷痘;調(diào)用check()方法

(3)備注:在onload獲取調(diào)用this.togglegroup.toggleItems.length獲取的長(zhǎng)度為0蔓涧,所以只能在start()函數(shù)中調(diào)用,creator設(shè)定的
5.cc.Button相關(guān)

(1)設(shè)置按鈕灰態(tài):node.getComponent(cc.Button).interactable = true;與creator中的EnableAuto中配合笋额;表現(xiàn)上是會(huì)灰色了元暴,但是按鈕還是可以點(diǎn)擊,還得通過(guò)事件回調(diào)來(lái)處理兄猩,按下return茉盏;

(2)事件注冊(cè):btn.on('touchend' || 'mouseup', function(e) {var btn = e.currentTarget; };在回調(diào)內(nèi)部獲取按鈕自己

(3)修改按鈕的圖片:即修改cc.Sprite組件,參考上面cc.Sprite相關(guān)

  1. Layout相關(guān)

(1)這個(gè)布局控件在孩子設(shè)置為隱藏的時(shí)候枢冤,會(huì)自動(dòng)調(diào)整孩子的位置鸠姨,可以設(shè)置為左對(duì)齊,居中對(duì)齊等等淹真;但是現(xiàn)在有個(gè)bug:在孩子的類型不同時(shí)享怀,自動(dòng)調(diào)整孩子的位置時(shí)不對(duì),需要用代碼控制孩子的位置趟咆,如果孩子多的話添瓷,最好還是不要用Layout布局。

7.RichText相關(guān)

(1)用法node.getComponent(cc.RichText).string = '<color=#FF0000>' + '我是富文本' + '</c>';

(2)換行增加字符串‘
’值纱;

8.定時(shí)器相關(guān)

(1)創(chuàng)建:

a) this.schedule(this.updatePlayerTime,1); 參數(shù)1:callback 參數(shù)2:間隔鳞贷;備注:這個(gè)this一定要掛接在組件上的腳本

b) cc.director.getScheduler().scheduleCallbackForTarget(this,function(){},1,0);

(2)銷毀:

a) this.unschedule(this.updatePlayerTime); 銷毀所有:this.unscheduleAllCallbacks();

b) cc.director.getScheduler().unscheduleCallbackForTarget(this, this.timer);銷毀所有:cc.director.getScheduler().unscheduleAllForTarget(this);

(3)只執(zhí)行一次:this.scheduleOnce()

9.操作事件相關(guān)(點(diǎn)擊彈起移動(dòng)事件)

(1)彈起事件:node.on('touchend' || 'mouseup', function(e) {})

(2)按下事件、長(zhǎng)按事件:node.on('touchstart',function(e){})

(3)移動(dòng)事件:node.on('touchmove',function(e){})

(4)取消事件:node.on('touchcancel',function(e){}) 離開(kāi)精靈的時(shí)候會(huì)觸發(fā)這個(gè)事件

10.cc.EditBox相關(guān)

暫時(shí)未用到

二虐唠、進(jìn)階內(nèi)容:
1.全局系統(tǒng)事件:

a)發(fā)送:var data= {};cc.systemEvent.emit('eventName', data);沒(méi)有data:cc.systemEvent.emit('eventName');

b)注冊(cè)事件:cc.systemEvent.on('eventName', this.eventCallBack, this);

c)取消事件注冊(cè):cc.systemEvent.off('eventName', this.eventCallBack, this);

d)事件回調(diào)函數(shù):eventCallBack:function(e) { var data= e.detail;};

2.節(jié)點(diǎn)動(dòng)態(tài)創(chuàng)建銷毀:

a)var node = new cc.Node("name");

b) node.destroy();

3.根據(jù)現(xiàn)有的節(jié)點(diǎn)創(chuàng)建節(jié)點(diǎn):

var newNode = cc.instantiate(oldNode);

4.實(shí)例化預(yù)制:

     cc.loader.loadRes('prefab/resName', cc.Prefab, function(err, prefab){
            var newNode = cc.instantiate(prefab);
        });

5.資源的加載:

cc.loader.load();

cc.loader.loadRes();

cc.loader.loadResArray();

cc.loader.loadResDir();

cc.loader.loadResDir加載資源有沒(méi)有同名覆蓋的問(wèn)題搀愧;比如A目錄下a.png;B目錄下也有a.png代碼中會(huì)顯示哪個(gè)png,如果用自動(dòng)圖集肯定沒(méi)這問(wèn)題
6.資源的釋放:

cc.loader.releaseRes(resPath);目前用在界面動(dòng)態(tài)創(chuàng)建疆偿,在關(guān)閉界面的時(shí)候用這個(gè)函數(shù)釋放當(dāng)前界面資源prefab;

看下cc.loader類中的釋放函數(shù)咱筛,目前項(xiàng)目中并沒(méi)有用到復(fù)雜的內(nèi)存釋放。

7.點(diǎn)A移動(dòng)到點(diǎn)B杆故,B有父節(jié)點(diǎn)迅箩,坐標(biāo)如何轉(zhuǎn)換?

var pos4 = this.pointB.convertToWorldSpaceAR(cc.p(0,0));

var pos5 = this.pointA.parent.convertToNodeSpaceAR(pos4);

var moveTo = cc.moveTo(0.5, pos5);

8.場(chǎng)景切換:

cc.director.loadScene(scene_name, callback); //scene_name為creator中.fire的文件名

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末处铛,一起剝皮案震驚了整個(gè)濱河市饲趋,隨后出現(xiàn)的幾起案子拐揭,更是在濱河造成了極大的恐慌,老刑警劉巖奕塑,帶你破解...
    沈念sama閱讀 222,378評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件堂污,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡龄砰,警方通過(guò)查閱死者的電腦和手機(jī)盟猖,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,970評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)换棚,“玉大人扒披,你說(shuō)我怎么就攤上這事∑耘荩” “怎么了碟案?”我有些...
    開(kāi)封第一講書人閱讀 168,983評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)颇蜡。 經(jīng)常有香客問(wèn)我价说,道長(zhǎng),這世上最難降的妖魔是什么风秤? 我笑而不...
    開(kāi)封第一講書人閱讀 59,938評(píng)論 1 299
  • 正文 為了忘掉前任鳖目,我火速辦了婚禮,結(jié)果婚禮上缤弦,老公的妹妹穿的比我還像新娘领迈。我一直安慰自己,他們只是感情好碍沐,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,955評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布狸捅。 她就那樣靜靜地躺著,像睡著了一般累提。 火紅的嫁衣襯著肌膚如雪尘喝。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 52,549評(píng)論 1 312
  • 那天斋陪,我揣著相機(jī)與錄音朽褪,去河邊找鬼。 笑死无虚,一個(gè)胖子當(dāng)著我的面吹牛缔赠,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播友题,決...
    沈念sama閱讀 41,063評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼嗤堰,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了咆爽?” 一聲冷哼從身側(cè)響起梁棠,我...
    開(kāi)封第一講書人閱讀 39,991評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎斗埂,沒(méi)想到半個(gè)月后符糊,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,522評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡呛凶,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,604評(píng)論 3 342
  • 正文 我和宋清朗相戀三年男娄,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片漾稀。...
    茶點(diǎn)故事閱讀 40,742評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡模闲,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出崭捍,到底是詐尸還是另有隱情尸折,我是刑警寧澤,帶...
    沈念sama閱讀 36,413評(píng)論 5 351
  • 正文 年R本政府宣布殷蛇,位于F島的核電站实夹,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏粒梦。R本人自食惡果不足惜亮航,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,094評(píng)論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望匀们。 院中可真熱鬧缴淋,春花似錦、人聲如沸泄朴。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,572評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)祖灰。三九已至仇哆,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間夫植,已是汗流浹背讹剔。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,671評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留详民,地道東北人延欠。 一個(gè)月前我還...
    沈念sama閱讀 49,159評(píng)論 3 378
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像沈跨,于是被迫代替她去往敵國(guó)和親由捎。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,747評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容