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