成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

【cocos2d-x】橫向滾屏射擊游戲②----虛擬控制手柄-創(chuàng)新互聯(lián)

因為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

  1. CCScene *MainScene::scene() { 
  2. do
  3. while
  4. return

將SneakyInput添加到InputLayer的頭文件中

  1. #include "SneakyInput/SneakyButton.h"
  2. #include "SneakyInput/SneakyJoystick.h"
  3. #include "SneakyInput/SneakyButtonSkinnedBase.h"
  4. #include "SneakyInput/SneakyJoystickSkinnedBase.h"

另外,我在頭文件中加了一個SneakyButton成員變量,因為我們馬上就會用到。

  1. classpublic
  2. public
  3. virtual
  4. void
  5. bool

在init方法中 我們生成了一個SneakyButton

  1. bool
  2. boolfalse
  3. do
  4. float
  5. new
  6. this
  7. this
  8. true
  9. while
  10. return

 因為SneakyButton沒有用到initWithRect方法中的CGRect參數(shù),所以我傳了一個CGRectZero給這個方法。實際的處理觸摸事件的代碼是使用radius(半徑)這個屬性來決定按鈕是否要響應(yīng)觸摸。

InputLayer類通過以下代碼預(yù)約更新

  1. this

更新方法是用來測試按鈕是否已被點擊

  1. void
  2. if
  3. "按下按鈕"

運行程序,你會發(fā)現(xiàn)屏幕上沒有任何按鈕  不過你可以點擊屏幕右下角 然后可以在log日志中正在打印“按下按鈕”


接下來  我們將讓按鈕可見,也就是添加皮膚

 這里 我們使用到了SneakyButtonSkinnedBase

  1. bool
  2. boolfalse
  3. do
  4. float
  5. new
  6. //      這個屬性可以讓玩家按住按鈕不放的時候,×××?xí)掷m(xù)地射擊出去
  7. true
  8. //默認(rèn)狀態(tài)
  9. "nor.png"
  10. //點擊狀態(tài)
  11. "tou.png"
  12. //激活狀態(tài)
  13. "tou.png"
  14. this
  15. this
  16. true
  17. while
  18. return
  我們不需要設(shè)置按鈕的半徑屬性了,因為SneakyButtonSkinnedBase類會使用提供的按鈕圖片來確定按鈕半徑的大小

控制動作

接下來我們在游戲中添加搖桿

  1. bool
  2. boolfalse
  3. do
  4. float
  5. new
  6. //      決定虛擬手柄的半徑大小
  7. //自動回到中心
  8. true
  9. //是否支持死亡區(qū)域,該區(qū)域不會觸發(fā)
  10. true
  11. //死亡區(qū)域的半徑
  12. //搖桿的背景圖
  13. "handle1.png"
  14. //搖桿的圖片
  15. "handle2.png"
  16. this
  17. this
  18. true
  19. while
  20. return

 完成搖桿的添加  接下來要實現(xiàn)搖桿事件的監(jiān)聽

  1. void
  2. //  getVelocity()到的數(shù)值很小 需要放大  800是估算的
  3. if
  4. "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)

手機網(wǎng)站建設(shè)
日土县| 绥中县| 阳信县| 湘潭县| 任丘市| 苏州市| 淮阳县| 宣城市| 菏泽市| 仙游县| 龙井市| 姜堰市| 安吉县| 巨鹿县| 黎平县| 乾安县| 德钦县| 宿松县| 盐边县| 西乌珠穆沁旗| 舞阳县| 吉林市| 美姑县| 睢宁县| 广元市| 丹棱县| 灵台县| 抚顺市| 多伦县| 葫芦岛市| 湛江市| 泸水县| 富顺县| 延川县| 岚皋县| 蓬溪县| 盐津县| 从化市| 田东县| 永嘉县| 孟连|