ccspritebatchnode spritemanager = ccspritebatchnode.batchnodewithfile("images/sprites", 10);
addchild(spritemanager, -1, (int)tags.kspritemanager);
ccsprite background = ccsprite.spritewithtexture(spritemanager.texture, new ccrect(0, 0, 320, 480));
spritemanager.addchild(background);
background.position = new ccpoint(240, 400);
ccsprite logo = ccsprite.spritewithfile(@"images\logo");
logo.position = new ccpoint(240, 650);
addchild(logo);
兩種例項化ccsprite物件方法的區別:
1.是建立在spritemanager中所載入的的基礎上(該里有多個元素見tweejump的image裡的sprites)然後用
spritewithtexture(spritemanager.texture, new ccrect(0, 0, 320, 480));第二個引數進行具體位置的定位。從而繫結資料。
2.直接繫結到具體某個資料夾下的位置。
一般例項化ccsprite(該物件只有乙個,且位置不變,如background、logo等)的步驟,先繫結資源,然後具體的position,最後addchild();
如果物件 有多個,且位置不固定,如bunus等。先例項化弄個迴圈,把物件的個數作為條件完成ccsprites的構建( initplatforms())。然後再迴圈的過程中具體化(initplatform(); )每個物件的資料(spritemanager-getchildbytag... 、 ccsprite x=.... 、 spritemanager.addchild(先, 3, xx);)。接著統一構建所有ccsprites的初始位置(不一定是位置)資料( resetplatforms())。在構建的過程中具體化某個ccsprite(resetplatform())。如下列**:
//新增遊戲中的平台
void initplatforms()
currentplatformtag = (int)tags.kplatformsstarttag;
while (currentplatformtag < (int)tags.kplatformsstarttag + knumplatforms)
this.initplatform();
currentplatformtag++;
this.resetplatforms();
//初始化遊戲中的平台資料
void initplatform()
ccrect rect = new ccrect();
switch (random.next() % 2)
case 0: rect = new ccrect(608, 64, 102, 36); break;
case 1: rect = new ccrect(608, 128, 90, 32); break;
ccspritebatchnode spritemanager = (ccspritebatchnode)getchildbytag((int)tags.kspritemanager);
ccsprite platform = ccsprite.spritewithtexture(spritemanager.texture, rect);
scale(platform);
spritemanager.addchild(platform, 3, currentplatformtag);
//3.初始化平台的位置
void resetplatforms()
//先統一設定所有平台的初始位置資料
currentplatformy = -1;
currentplatformtag = (int)tags.kplatformsstarttag;
currentmaxplatformstep = 60f;
currentbonusplatformindex = 0;
currentbonustype = 0;
platformcount = 0;
while (currentplatformtag < (int)tags.kplatformsstarttag + knumplatforms)
//逐個安排每個平台的位置
this.resetplatform();
currentplatformtag++;
//4.重新設定每個平台的位置
void resetplatform()
if (currentplatformy < 0)
currentplatformy = 50f;
else
currentplatformy += (random.next() % (int)(currentmaxplatformstep - kminplatformstep) + kminplatformstep) * sy;
if (currentmaxplatformstep < kmaxplatformstep)
currentmaxplatformstep += .5f;
學習筆記 雜湊學習筆記
hash基本原理 hash就是乙個像函式一樣的東西,你放進去乙個值,它給你輸出來乙個值。輸出的值就是hash值。一般hash值會比原來的值更好儲存 更小 或比較。那字串hash就非常好理解了。就是把字串轉換成乙個整數的函式。而且要盡量做到使字串對應唯一的hash值。它的主要思路是選取恰當的進製,可以...
學習筆記 CentOS 學習筆記01
簡單的做個課堂筆記 虛擬機器用的是vmware,系統是centos cd etc sysconfig network scripts pwdls 顯示列表 cat ifcfg eth0 檢視檔案內容 vi ifcfg eth0 進入vi編輯器 onboot no 原始設定 x逐字刪除 d刪除整行 a...
筆記 spring cloud 學習筆記
1 spring cloud 是什麼 spring cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具 例如配置管理,服務發現,斷路器,智慧型路由,微 控制匯流排 分布式系統的協調導致了樣板模式,使用spring cloud開發人員可以快速地支援實現這些模式的服務和應用程式。他們將在任...