2014年7月5日土曜日

BatchNodeに格納したSpriteを別のメソッドで使用する方法

BatchNodeと、その中に格納したSpriteを別のメソッドで使用する方法。
…が、やっとわかった。個人的にかなり頭を悩ませた部分。



とはいえ、ググっても全然それについて書いてるサイトが無いので、
できて当たり前程度の事なのかもしれない…oh。

マリオ的な横スクロールアクションを作ると仮定して、
MakeStage(名前は適当)とかそういうステージ用のメソッドをつくって、
そこに地面になるSpriteをBatchNodeを使用して作ったのだけど、
MakeStageとは別のメソッドでgetChildByTagを使用して
そのSpriteを呼び出してアクションさせようとしてもうまくいかない。
BatchNodeを使用しなければうまくいくのに…という感じだった。

んで、原因としては
・バッチノードにもsetTagしておく必要がある
・getChildByTagでスプライトを呼び出す場合は呼び出す階層、
 つまりバッチノードの変数名を指定する必要がある
ということだった。
つまり、コード的にはこんな感じ。


いやぁ、解決してみれば「そりゃそうだ」くらいのことなんですが、
こういうのに一度ハマるとなかなか抜け出せない。




☆★というわけでcocos2d-xで制作しました★☆

レッド・ザ・パニッシャー ―スタイリッシュレトロアクション―
カテゴリ: アクション
Google Playで詳細を見る

今なら(永久に)無料! 今すぐチェック!!

0 件のコメント:

コメントを投稿