場(chǎng)景樹(shù)
1creator是由一個(gè)一個(gè)的游戲場(chǎng)景組成,通過(guò)代碼邏輯來(lái)控制場(chǎng)景跳轉(zhuǎn).
2creator場(chǎng)景是一個(gè)樹(shù)形結(jié)構(gòu)
3父節(jié)點(diǎn),子接地那 canvas可以當(dāng)做根點(diǎn)擊,然后再場(chǎng)景里添加精靈 UI等等節(jié)點(diǎn)
4cc.Node是整個(gè)場(chǎng)景數(shù)中的節(jié)點(diǎn)對(duì)象.
5每個(gè)節(jié)點(diǎn)只要是場(chǎng)景里面的, 任何一個(gè)節(jié)點(diǎn)都有一個(gè)cc.Node
cc.Node屬性
1 name:獲取節(jié)點(diǎn)的名字
2 active:設(shè)置節(jié)點(diǎn)的可見(jiàn)性
3 position:相對(duì)坐標(biāo),相對(duì)應(yīng)父節(jié)點(diǎn)的位置.
4 rotation:選中,數(shù)學(xué)是逆時(shí)針為正,creator是順時(shí)針為正
假如要按照數(shù)學(xué)旋轉(zhuǎn)90度,creator要旋轉(zhuǎn)270度,也就是360減去90度
5 scale:縮放
6 anchor:錨點(diǎn)左下角(0,0)右上角(1,1)錨點(diǎn)可以超過(guò)這個(gè)范圍
7 Size:大小,響應(yīng)觸摸和這個(gè)大小有關(guān)系
8 坐標(biāo)系:以左下角為坐標(biāo)原點(diǎn)(0,0) 垂直線為x,豎直線為y.
9 Color:環(huán)境的顏色,比如鼠標(biāo)滑到上面 可以讓他變灰等
10 Opacity:透明度
11 Skew:扭曲
12 Group:分組 碰撞檢測(cè), 比如飛機(jī)大戰(zhàn),敵人×××,飛機(jī)
13 parent:父節(jié)點(diǎn)的cc.Node
14 children/childrenCount:孩子節(jié)點(diǎn)數(shù)的數(shù)組
14 tag節(jié)點(diǎn)的標(biāo)簽
cc.Component 組件
1所有的組件都擴(kuò)展自cc.Component
2每個(gè)cc.Component組件實(shí)例都有個(gè)node成員,指向他關(guān)聯(lián)節(jié)點(diǎn)的cc.node
3name每一個(gè)cc.Component通過(guò)name屬性可以獲得節(jié)點(diǎn)的名字;
4組件實(shí)例入口函數(shù):
onLoad:組件加載的時(shí)候調(diào)用;
start:組件第一次激活時(shí)調(diào)用,并且是在第一次update之前
update(dt):每次游戲刷新的時(shí)候調(diào)用;
不常用的
lateUpdate(dt):在update之后調(diào)用
enabled:組件是否被啟動(dòng)
onEnable:組件被允許的時(shí)候調(diào)用 就是被激活的時(shí)候
onDisable:組件不被允許的時(shí)候調(diào)用
代碼組件
1每個(gè)代碼組件實(shí)例都繼承自cc.Component(構(gòu)造函數(shù)),
所以有一個(gè)node數(shù)據(jù)成員指向cc.node
2cc.Class({...})定義到處了一個(gè)新的類的構(gòu)造函數(shù),
Class類似一個(gè)接口, 他的參數(shù)是一個(gè)表,首先他內(nèi)部會(huì)創(chuàng)建一個(gè)函數(shù)對(duì)象作為返回值
然后 判斷你有沒(méi)有extend這個(gè)key,如果有那么他就會(huì)先繼承這個(gè)key,表示父類,
并且先執(zhí)行父類的構(gòu)造函數(shù), 然后遍歷所有不是extend的參數(shù)把他們作為key加入進(jìn)來(lái)
3當(dāng)為每個(gè)節(jié)點(diǎn)添加組件的時(shí)候,會(huì)實(shí)例化(new)這個(gè)組件類,生成組件實(shí)例.
4當(dāng)組件加載運(yùn)行的時(shí)候,代碼函數(shù)里面的this指向這個(gè)組件的實(shí)例.
5代碼組件在掛載的時(shí)候擴(kuò)展自(cc.Component)里面有個(gè)成員指向節(jié)點(diǎn)
所以在代碼組件里面,可以使用this.node來(lái)訪問(wèn)這個(gè)組件實(shí)例掛載的節(jié)點(diǎn)對(duì)象
6通過(guò)this.node 就是指向他掛載的節(jié)點(diǎn).
7通過(guò)節(jié)點(diǎn)可以使用他的屬性方法.
8this就是當(dāng)前的組件的實(shí)例.
9節(jié)點(diǎn)可以掛載很多個(gè)組件.
10根節(jié)點(diǎn) 其實(shí)就是場(chǎng)景一個(gè)Canvas的父節(jié)點(diǎn)就是場(chǎng)景
11遍歷子節(jié)點(diǎn)
每個(gè)數(shù)組元素就是一個(gè)cc.Node
//返回的是數(shù)組 var childer = this.node.children; //遍歷數(shù)組 for(var i = 0;i < childer.length;i++){ console.log(childer[i].name); }場(chǎng)景數(shù)相關(guān)方法
1 代碼中創(chuàng)建一個(gè)節(jié)點(diǎn) new cc.Node()
var new_node = new cc.Node()
2 addChild 添加一個(gè)子節(jié)點(diǎn)到場(chǎng)景數(shù)
this.node.addChild(new_node)
3 removeFromParent 節(jié)點(diǎn)從父節(jié)點(diǎn)刪除,
new_node.removeFromParent()
4 removeAllChildren刪除所有的節(jié)點(diǎn)
this.node.removeAllChildren();
5查找子節(jié)點(diǎn) getChildByName/getChildByTag/getChildByIndex
局部查找
如果有同名的 那就先返回先找到的
var item = this.node.getChildByName(節(jié)點(diǎn)名)
全局查找 我希望找這個(gè)節(jié)點(diǎn)的時(shí)候全局來(lái)搜索,消耗時(shí)間
他的原理就是從根節(jié)點(diǎn)開(kāi)始查找.
var item = cc.find("Canvas/parent/item1")
6 setPosition設(shè)置坐標(biāo)
getPosition()獲取坐標(biāo)相對(duì)位置
7層疊關(guān)系
在crator里面 誰(shuí)在左邊數(shù)型里面越靠下,
那么他繪制順序越靠前,覆蓋下面的圖像
他就是ZOrder 默認(rèn)ZOrder是0
如果想讓他更靠前 可以通過(guò)setLoaclZOrder來(lái)設(shè)置
先獲取這個(gè)節(jié)點(diǎn) 然后這只ZOrder 數(shù)值越大 越靠前
var a2= this.node.getChildByName("a2");
a2.setLocalZOrder(1);
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
網(wǎng)站題目:cc.Node.場(chǎng)景樹(shù)-創(chuàng)新互聯(lián)
瀏覽地址:http://chinadenli.net/article22/dcpjjc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、用戶體驗(yàn)、ChatGPT、網(wǎng)站內(nèi)鏈、網(wǎng)站排名、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容