[cocos2d] SnakeyInputでジョイスティックとボタンを実装する。

[cocos2d] SnakeyInputでジョイスティックとボタンを実装する。
   

SnakeyInput

SnakeyInputはcocos2dで利用できるクラスの一つで、手軽に「ジョイスティック」や「ボタン」を作成できます。

利用する前にまずは、SnakeyInputクラスを下記サイトからダウンロードしましょう。
sneakyness/SneakyInput · GitHub

実際に利用するクラスをxcodeに追加する

ダウンロードした「SnakeyInput」を立ち上げてclassを見てみると、いくつかのファイルがあります。
2013 2 19

全てを利用するのではなく、必要なファイルを選んでXcodeに追加します。
例えば、「ジョイスティック」の場合は、以下の4つが必要になります。
  • SneakyJoystickSkinnedBase.h
  • SneakyJoystickSkinnedBase.m
  • SneakyJoystick.h
  • SneakyJoystick.m


「ボタン」の場合
  • ColoredCircleSprite.h
  • ColoredCircleSprite.m
  • ColoredSquareSprite.h
  • ColoredSquareSprite.m
  • SneakyButtonSkinnedBase.h
  • SneakyButtonSkinnedBase.m
  • SneakyButton.h
  • SneakyButton.m

ジョイスティックを設置する

任意のレイアー上に、以下のような形でコードを下記設置します。

 skinjoystick = [[SneakyJoystickSkinnedBase alloc] init];
 skinjoystick.position =ccp(****,****);
        
 skinjoystick.backgroundSprite = ;//スプライトを指定
 skinjoystick.thumbSprite = ;//スプライトを指定
 skinjoystick.joystick = [[SneakyJoystick alloc] initWithRect:CGRectMake(0,0,70,70)];
        
 joystick = skinjoystick.joystick;
 joystick.autoCenter = YES; //自動的に真ん中に戻すかどうか
 joystick.hasDeadzone = YES;//ジョイスティックの反応しないエリアを作るかどうか
 joystick.deadRadius = 10;//反応しないエリアの半径を指定
 [self addChild:skinjoystick];


//ジョイスティックの動きはjoystick.velocityで抽出します。
CGPoint point = joystick.velocity;


実際のジョイスティックの動きはjoystick.velocityを使って取り出します。
これを使いPlayerを動かしたりします。

ボタンを設置する

任意のレイアー上に、以下のような形でコードを下記設置します。

skinAttackButton = [[SneakyButtonSkinnedBase alloc] init];
skinAttackButton.position = ccp(0,0);
skinAttackButton.defaultSprite =;//基本のスプライト
skinAttackButton.activatedSprite = ;//ボタンを押している時のスプライト
skinAttackButton.pressSprite = ;//ボタンを離した時のスプライト
skinAttackButton.button = [[SneakyButton alloc] initWithRect:CGRectMake(0, 0, 64, 64)];
Button = skinAttackButton.button;

[self addChild:skinAttackButton];



//実際に利用するときには,attackButton.activeを利用する。
-(BOOL)isTouchedButton{
    
           
        return Button.active;
    
}

BOOL型の反応をButton.activeが返してくれます。
これを使い、YESの時に何かしらのアクションを取らせたりします。

さいごに

私はこのように使っています。
自分で実装しなくていいので、手軽に利用できます。興味を持たれた方は是非一度利用してみてください。
Mainmenu

cocos2dで作る iPhone&iPadゲームプログラミングcocos2dで作る iPhone&iPadゲームプログラミング
Steffen Itterheim,畑 圭輔,坂本 一樹,加藤 寛人,高丘 知央,株式会社 クイープ

インプレスジャパン
売り上げランキング : 81343

Amazonで詳しく見る

Related Posts Plugin for WordPress, Blogger...