【cocos2d】自作のボタンを作成する方法

【cocos2d】自作のボタンを作成する方法
   

cocos2dを利用して、ボタンを作成方法を紹介します。

ボタンを作成する前


実装したいボタン

cocos2dで実装をする前にどうのようなボタンを作りたいかを予め考えます。
私は、現在アクションゲーム作っているので、ボタンを押した時はもちろんなんですが、ボタンを押したままの時でも、何かしらのアクションを取りつづけるようなボタンを作成したいと思いました。

画像を準備

今回は、CCSpriteを使ってボタンを作成しますので、画像データを準備します。
画像の種類は2種類。
「通常の画像」と「ボタンが有効化されている時に使う画像」です。
Button


CCLayerを使いボタンの作成する

まずは、新規のCCLayerクラスを作成して、CCSceneクラスに追加をします。
ゲームメインのクラスの上になるようにZ値を調整します。


CCSpriteをCCLayerに配置する

新規に作成したCCLayerに、ボタンとなるCCSpriteを配置していきます。
これは、ゲームに合わせて上手くボジションやボタンを大きさを調整してください。
0512 2013


マルチタッチを有効にする

CCLayerでタッチ処理が有効になるようにコードを追加します。
ボタンが複数ある場合は、マルチタッチが利用できるようにAppDelegateも変更します。



マルチタッチを有効にする


実装

先ほど設定をしたccTouchBegan、ccTouchEndedにコードを実装します。


コードの説明


ボタンの処理

実際に、「Playerが動く」、「ジャンプする」などのアクションは、上記でいう変数(buttonflagleft)が0か1かで判別します。
これをオブジェクトのループ内(Update)で抜き出して利用します。


タッチの識別

複数ボタンがあると、どのボタンを押した離したの判別をする必要があります。
その際にUITouchクラスを利用します。

これを利用すれば、タッチの識別ができます。これをif文で利用すると、ボタンの処理がうまくいきました。


[追記]
CCMenuクラスを利用したボタンの作成方法を記事にしました。
【cocos2d】CCMenuクラスで、ボタンを作成する方法 | albatrus.com

Related Posts Plugin for WordPress, Blogger...