0

Cocos2d バージョン 3.0 で Xcode を使用しています。

画面上でスプライトをドラッグしたい。次のコードを使用して成功しました:

(void) touchMoved:(UITouch *)touch withEvent:(UIEvent *)event 

{

CGPoint touchLocation = [touch locationInNode:self];

sprite1.position=touchLocation; 

sprite2.position=touchLocation; 

sprite3.position=touchLocation;

sprite4.position=touchLocation; 

}

ただし、スプライトが 1 秒後に動きを止めることがあります。彼らは私の動きに追いつくことは決してないので、それは遅れではありません. 彼らはただ止まります!手を離してもう一度タッチを動かし始めると、スプライトは再び正常に動き始めます / 時々「フリーズ」が再び行われます。

メモリの問題ですか?

わかりました、私はそれが記憶に違いないと確信しています。このコードをスプライトがほとんどない単純なゲームにコピーしたところ、完全に機能しました。

4

1 に答える 1

0

わかりました!

スプライトを移動している間、UISwipeGestureRecognizers を無効にする必要がありました。

ゲームは touchesMoved の動きをスワイプとして登録し、touchesMoved コマンドをキャンセルしていました。

于 2014-10-02T17:30:11.003 に答える