(NO.00003)iOS遊戲簡單的機器人投射遊戲成形記(十八) – iPhone手機開發 iPhone軟體開發教學課程

在遊戲中制作手臂瞄準線,也就是所謂的輔助延長線.玩臺球遊戲的童鞋應該可以瞭解.

按道理來說,延長線是一個物理實體,遇到物理剛體應該會發生反彈行為,這個符合實際遊戲邏輯.

但是這裡為瞭簡單,隻是做一條”傻傻地”線而已,上面憧憬中的反彈延長線有機會以後遊戲中再來實現.

用Ai繪制一條長度適合的虛線:

這裡寫圖片描述

打開SpriteBuilder,將其拖入arm中,使其成為arm的子節點,這樣,它自動會跟著父節點旋轉,不需要寫額外的代碼瞭.vcD4NCjxwPsno1sPG5LT6wuvBrL3hw/uzxs6qX2Rhc2gsxKzIz86qsru/ybz7LjwvcD4NCjxwPrvYtb1YY29kZSzU2lJvYm90Lm3W0MztvNPKtcD9seTBvzo8L3A+DQo8cHJlIGNsYXNzPQ==”brush:java;”>
CCNode *_dash;

有童鞋可能感到不解,dash是arm的子節點,為什麼你在Robot類裡添加_dash實例變量呢?因為SpriteBuilder中我們選擇_dash的類型是Doc root var哦:

這裡寫圖片描述

我們延長線的行為如下,中有當選中一個機器人,並且旋轉arm時才顯示延長線,當觸摸結束後延長線不顯示.

因為我們有2種方式來旋轉arm所以需要在Robot中和GameScene中的觸摸moved和end方法中開啟和關閉延長線,在Robot.h接口中新建2個方法:

-(void)moveArmFinish;
-(void)moveArmBefore;

在Robot.m中實現兩個方法,很簡單:

-(void)moveArmFinish{
    _dash.visible = NO;
}

-(void)moveArmBefore{
    _dash.visible = YES;
}

接下來隻要在需要顯示和關閉顯示延長線的地方調用方法即可,這個就不在貼出瞭.

編譯,運行遊戲,效果如下:

這裡寫圖片描述

大傢順便可以看到該Level中右邊籃筐銷魂的走位,這個不是用代碼Action寫的,而是僅僅用SpriteBuilder自身的動畫完成的,沒有寫一行代碼,我們下一篇就來看看怎麼實現它 😉

 

發佈留言