cocos泡泡堂要點

2021-08-31 03:59:18 字數 1442 閱讀 1089

cc是全域性的東西;

1、挪資源要在編輯器裡面挪,裡面的東西改變會自動更新,裡面有很多的meta檔案記錄很多資訊,uid等,meta檔案也不能刪。在外面挪資源的話可能會改變它的資訊讓編輯器識別不出來。

2、資料夾管理,對資源進行歸類。

3、節點下面有:(1)、指令碼元件;(2)、內建元件(3)、預製元件:cc.instance

4、根據背景圖的大小更改canvas的大小;

5、節點取元件有三種方式:一種是定義節點型別取元件。一種是定義節點陣列型別取元件,可在編輯器裡面定義陣列個數;一種是通過節點取元件型別。指令碼元件屬性定義方式有:[cc.node],或者;

6、建立選單節點,在選單節點下掛載兩個節點,分別是背景圖和角色節點。角色節點下掛載指令碼,指令碼裡面定義角色節點和箭頭節點。

7、在角色節點下面的onload()函式下監聽滑鼠事件和鍵盤事件的落下和放開,同時在節點被銷毀時呼叫ondestroy函式下呼叫銷毀系統事件。在自定義函式下呼叫switch函式切換a和d左右,left和right左右.

8、接著新增pageview節點,通過元件的pageview的getcurrentpageindex獲取當前頁面索引;以及tian新增一葛開始按鈕切換場景,選單就製作好了;

9、接著做乙個地圖game場景,為了計算座標方便,建立乙個節點,希望左下標為原點(-240,-300)。

10、拖動乙個tilemap到節點上,tmxasset關聯顯示。取到tmx asset節點,寫乙個指令碼(tilemapctrl)獲取tilemapctrl來獲取它的各種屬性;

11、一開始先在掛載的指令碼關聯tmxasset,用陣列的方式([cc.tiledmapasset]),後面再優化,動態載入。

12、直接在game.js let tilemapctrl = require('tilemapctrl')得到乙個型別(cc.class),接著在屬性掛載型別得到js指令碼型別。接著在編輯器裡面掛載tilemap節點裡面的tilemactrl屬性(之前已經宣告了是js指令碼型別),所以取到js指令碼tilemapctrl.

13、接著建立managers.js,用來管理各個js,cc.component的作用主要是用來掛載在節點上面,繼承節點。

14、在managers.js(單例)建構函式裡面定義乙個this.objmgr = {};接著註冊管理函式registermgr(name,obj)this.objmgr[name] = obj;}

getmgr(name)return this.objmgr[name];}

removemgr(name)

init()

單例目前知道的有兩種方法:一種是module.exports(空物件),往裡面插入乙個getinstance()獲取指令碼,接著在game.js let manager = require('manager');接著在onload()函式裡面let manager = manager.getinstance();因為tilemap是很多js檔案都要用的,所以註冊

田忌賽馬 泡泡堂

from 黃學長 本題原來是用貪心的思路,用田忌速度從小到大的每一匹馬去戰勝或打平齊王的最強的馬 像這樣1 include2 include3 using namespace std 4int main 5,tj 10001 7int n 8 cin n 9long long ans n 200 1...

BZOJ1034 泡泡堂(貪心)

bzoj 洛谷很基礎的貪心,然而我竟然沒寫對。身敗名裂。大概就是類似田忌賽馬。先拿看當前最大值是否能否解決對面最大值,否則檢查能否用最小值來兌掉。差不多類似把,有點點區別。include include include include include include using namespace ...

ZJOI2008 泡泡堂題解

一道博弈論貪心題 如下 213 242 06 10000000 10000000 10000000 10000000 10000000 1000000000 000012 12我們分別稱 4 位選手為 a,b,c,d 則可能出現以下 4 種對戰方式,最好情況下可得 2 分,最壞情況下得 0 分。浙江...