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

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

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

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;

[/c]

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

ボタンを設置する

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

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;

}

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

さいごに

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

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

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

Amazonで詳しく見る