cocos2D 虛擬搖桿Joystick功能實現

2022-08-25 22:21:25 字數 2422 閱讀 4501

@implementation inputlayer

- (id)init

return  self;

}//新增乙個按鈕

- (void)addfirebutton

//新增乙個搖桿

- (void)addjoystick

- (void)update:(cctime)delta

if (firebutton.active == no)

這個值非常小需要將其放大(根據實際情況調值)

cgpoint velocity = ccpmult(joystick.velocity, 200);

if(velocity.x != 0 && velocity.y != 0)

}執行圖如下:

)ccjoystick 是乙個基於 

cocos2d 

的搖桿類,簡單幾行**即可為您的遊戲增加乙個強大的模擬搖桿。而且最新版本已經支援搖桿搓招兒,滿足格鬥類遊戲開發者的需求。

基於該類可自主擴充套件諸多搖桿效果,比如 360 

度模式、

8 向模式。使用方法如下:

// 建立搖桿

myjoystick=[ccjoystick initwithballradius:25 movearearadius:65 isfollowtouch:no iscanvisible:yes isautohide:no hasanimation:yes];//ballradius即模擬搖桿球的半徑,

movearearadius

即搖桿球可移動的範圍半徑,

isfollowtouch

即是否將搖桿基準位置 跟隨

touch

座標,iscanvisible

即是否可見,

isautohide

即是否自動隱藏(

touchend

即隱藏),

hasanimation

即 是否顯示搖桿復位動畫

//新增**

[myjoystick setballtexture:@"ball.png"];//可選,不設定即看不見搖桿球

[myjoystick setdocktexture:@"dock.png"];//可選,不設定即看不見底座

[myjoystick setsticktexture:@"stick.jpg"];//可選,不設定即看不見連動杆

[myjoystick sethitareawithradius:100];//搖桿啟用區域為基準座標半徑,預設為另乙個方法,設定螢幕矩形區域為啟用區域

sethitareawithrect

myjoystick.position=ccp(100,100);

myjoystick.delegate=self;

[self addchild:myjoystick];   

該搖桿類包含3

個事件:

1、- (void) onccjoystickupdate:(ccnode*)sender angle:(float)angle  direction:(cgpoint)direction power:(float)power;//angle用來控制角色朝向,direction用來設定移動座標,power為力度用於控制速度快慢

2 、- (void) onccjoystickactivated:(ccnode*)sender;

3、- (void) onccjoystickdeactivated:(ccnode*)sender;

實現**如下:

1 @implementation operatelayer

2 3 - (id)init

4 32     return self;

33 }

34 35 - (void)shoot:(ccmenuitem  *) menuitem

40 - (void) onccjoystickupdate:(ccnode*)sender angle:(float)angle direction:(cgpoint)direction power:(float)power

41 55 }

56 57 - (void) onccjoystickactivated:(ccnode*)sender

58 64 }

65 - (void) onccjoystickdeactivated:(ccnode*)sender

66 72 }

73 @end

執行效果圖:

/files/xuling/ccjoystick.rar

/files/xuling/sneakyinput.rar

[glview setmultipletouchenabled:yes];設定為yes了沒有。 我剛開始做的時候就沒設定還查了好久,嘿嘿,有點菜 ...

cocos2D 虛擬搖桿Joystick功能實現

joystick 搖桿功能的實現 兩種實現方式 一 sneakyinput nick pannuto編寫的開源類庫 主要有五個核心類 sneakybutton sneakybuttonskinnedbase sneakyjoystick sneakyjoystickskinnedbase color...

cocos2d實現語音 Cocos2d 聲音API

param url 聲音路徑 cc.audioengine.playmusic url loop 停止背景 param releasedata 是否釋放聲音資料,預設為false cc.audioengine.stopmusic releasedata 暫停背景 cc.audioengine.pau...

Cocos2D研究院之初識Cocos2d(二)

在正式介紹cocos2d之前,我先囉嗦一下本人對這套引擎的看法。我認為coos2d最大的作用就是降低開發成本 貌似所有引擎都是這樣 對於研發部門來說,最大的成本就是時間,所以節省時間是降低成本最有效的方式,cocos2d幾乎封裝了所有開發ios遊戲需要的底層 使剛剛接觸oc的開發者也能很快的製作出效...