iPhone/cocos2dゲームの画面上でユーザーの指の動きをトレースしようとしています。新しいタッチごとにccMotionStreakを再初期化する
これまでのところ、私はGameLayerのインターフェイスで宣言されたccMotionStreakを使ってこれを行うことができ、私のinitメソッドで初期化しました。私は私の指を持ち上げ、画面上の新しいタッチ動作を行うまで
UITouch *touch = [touches anyObject];
[streak setPosition:[self convertTouchToNodeSpace:touch]];
これは動作します:ユーザのタッチを描画するには、私はtouchesMovedに次のコードを置きます。新しいストリークを描く代わりに、私のゲームは古いストリークの終わりと新しいスワイプの始まりをつなぎ、同じストリークを続けます。これは私が望むものではありません。
私のccMotionStreakをリセットする方法はありますか?もしそうでなければ、明白な解決策は、新しいタッチごとに新しいストリークを作成して(古いものを削除する)ように思われますが、これを動作させることはできません。私がinitメソッドから抜け出してtouchesBeganにストリークの初期化コードを移動すると、ストリークはもはや表示されません。
私はこれが基本的なものでなければならないと思っていますが、私は構文を理解できません。私はまだObjC/cocos2dを学んでいます。助けてもらえますか?ここで
は、私は私のinitメソッドで私の連勝を初期化する方法である:
streak = [CCMotionStreak streakWithFade:3.0 minSeg:1 image:@"streak.png" width:4 length:8 color:ccc4(128,128,128,255)];
[self addChild:streak];
"ccTouchesBegan"ではなく "touchesBegan"を実装していた以外は、すべてこれを行いました。 D'oh! – Imran