亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

cocos2dx番外篇——虛擬搖桿

發布時間:2020-07-25 21:42:14 來源:網絡 閱讀:4173 作者:shahdza 欄目:開發技術

【嘮叨】

    如果手機設備沒有手柄、鍵盤的話,就只能靠觸摸屏幕來操作游戲了。

    虛擬搖桿的作用就是在游戲中創建幾個按鍵來模擬手柄,通過觸控來實現上下左右的移動,以及***、跳躍、發大招等操作。

    如下所示,有一個移動的虛擬搖桿,以及一個A鍵。

cocos2dx番外篇——虛擬搖桿

    

    已有開源的SneakyInput虛擬搖桿,開源地址:https://github.com/Ntran013/SneakyInput

    而這里博主則是將開源的SneakyInput進一步的修改,方便博主自身的使用。


【demo下載】

    https://github.com/shahdza/Cocos_LearningTest/tree/master/%E8%99%9A%E6%8B%9F%E6%91%87%E6%9D%86SneakyInput 




【虛擬搖桿】


1、說明

    SneakyInput是一個開源的項目,而我們只需要修改搖桿使用的圖片、按鈕圖片,以及位置即可。

    所以,只要修改Sneaky類中標注的 "//-- need modify start --" 部分,將虛擬搖桿的按鈕圖片改成你自己的圖片即可。


2、使用方法

    (1)將 Sneaky.h 頭文件包含到你的Game.h類中

    (2)在 Game.cpp 的初始化函數 init()里添加虛擬搖桿即可。

                Sneaky* sneaky = new Sneaky();

                this->addChild(sneaky,1,999);

    (3)移動和按鈕一般在游戲Game類的update()中進行。

    (4)移動:

            //獲得方向向量,dv為標準化向量,即長度為1.

            CCPoint dv = sneaky->joystick->getVelocity();

            //人物移動

            sp->setPosition( sp->getPosition() + dv );

    (5)按鈕:

            //判斷按鈕A是否被按下

            sneaky->buttonA->getIsActive()


3、代碼舉例

//
	bool flag = false; //是否在執行按鍵動作
	void Game::update(float dt) {
	
		CCNode* sp = this->getChildByTag(1);
		
		//移動
		int movespeed = 2;
		CCPoint dv = sneaky->joystick->getVelocity();
		sp->setPosition( sp->getPosition() + dv*movespeed );
		
		//按鍵
		if(sneaky->buttonA->getIsActive() && !flag ) {
			CCJumpBy* jump = CCJumpBy::create(0.5f,ccp(0,0),100,1); //原地跳躍
			CCCallFunc* func = CCCallFunc::create(this,callfunc_selector(Game::setFlag));
			sp->runAction( CCSequence::create(jump, func, NULL) );
			flag = true;
		}
	}
	void Game::setFlag() { flag = false; }
//



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

洞头县| 邵阳县| 株洲市| 阿勒泰市| 晋中市| 浮山县| 砚山县| 吴旗县| 宁南县| 贵阳市| 珲春市| 柘城县| 十堰市| 安新县| 沅陵县| 莲花县| 大厂| 弋阳县| 宁陕县| 满洲里市| 襄樊市| 洪江市| 六盘水市| 曲沃县| 翁源县| 塘沽区| 临海市| 长岭县| 高阳县| 肃北| 荔波县| 龙山县| 梨树县| 循化| 商水县| 灌云县| 库伦旗| 个旧市| 赤峰市| 广南县| 西盟|