因為iOS,Android設備使用觸摸屏來輸入,沒有傳統移動游戲設備配備的按鈕,十字按鈕或者模擬手柄,我們需要一個虛擬手柄來控制游戲。你可以使用虛擬手柄對游戲物體進行操控,就像使用實際的手柄一樣。
SneakyInput控制手柄源碼: 點我下載
把×××下來,加入到你的項目中,別忘了在android.mk添加相關內容哦!
我們首要目標是添加一個可以讓玩家進行飛船射擊的按鈕,他們點擊按鈕的時候 會發(fā)射×××,
----------------------
接下來 我會在項目中添加一個新的類InputLayer ,這個類繼承自CCLayer,他會被添加到MainScene
- CCScene *MainScene::scene() {
- do
- while
- return
將SneakyInput添加到InputLayer的頭文件中
- #include "SneakyInput/SneakyButton.h"
- #include "SneakyInput/SneakyJoystick.h"
- #include "SneakyInput/SneakyButtonSkinnedBase.h"
- #include "SneakyInput/SneakyJoystickSkinnedBase.h"
另外,我在頭文件中加了一個SneakyButton成員變量,因為我們馬上就會用到。
- classpublic
- public
- virtual
- void
- bool
在init方法中 我們生成了一個SneakyButton
- bool
- boolfalse
- do
- float
- new
- this
- this
- true
- while
- return
因為SneakyButton沒有用到initWithRect方法中的CGRect參數,所以我傳了一個CGRectZero給這個方法。實際的處理觸摸事件的代碼是使用radius(半徑)這個屬性來決定按鈕是否要響應觸摸。 |
InputLayer類通過以下代碼預約更新
- this
更新方法是用來測試按鈕是否已被點擊
- void
- if
- "按下按鈕"
運行程序,你會發(fā)現屏幕上沒有任何按鈕 不過你可以點擊屏幕右下角 然后可以在log日志中正在打印“按下按鈕”
接下來 我們將讓按鈕可見,也就是添加皮膚
這里 我們使用到了SneakyButtonSkinnedBase
- bool
- boolfalse
- do
- float
- new
- // 這個屬性可以讓玩家按住按鈕不放的時候,×××會持續(xù)地射擊出去
- true
- //默認狀態(tài)
- "nor.png"
- //點擊狀態(tài)
- "tou.png"
- //激活狀態(tài)
- "tou.png"
- this
- this
- true
- while
- return
我們不需要設置按鈕的半徑屬性了,因為SneakyButtonSkinnedBase類會使用提供的按鈕圖片來確定按鈕半徑的大小 |
控制動作
接下來我們在游戲中添加搖桿
- bool
- boolfalse
- do
- float
- new
- // 決定虛擬手柄的半徑大小
- //自動回到中心
- true
- //是否支持死亡區(qū)域,該區(qū)域不會觸發(fā)
- true
- //死亡區(qū)域的半徑
- //搖桿的背景圖
- "handle1.png"
- //搖桿的圖片
- "handle2.png"
- this
- this
- true
- while
- return
完成搖桿的添加 接下來要實現搖桿事件的監(jiān)聽
- void
- // getVelocity()到的數值很小 需要放大 800是估算的
- if
- "x=%f,y=%f"
接下來一章將開發(fā)一個小游戲,如有問題,請?zhí)岢?/p>
本教程根據Cocos2d教程翻譯過來
使用的cocos2d-x版本為2.02
另外有需要云服務器可以了解下創(chuàng)新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
本文名稱:【cocos2d-x】橫向滾屏射擊游戲②----虛擬控制手柄-創(chuàng)新互聯
文章位置:http://www.chinadenli.net/article6/dishig.html
成都網站建設公司_創(chuàng)新互聯,為您提供品牌網站制作、網站策劃、微信小程序、網站建設、自適應網站、搜索引擎優(yōu)化
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯