2012-02-03 7 views
1

ccTouchesBeganを使用してスプライトをジャンプし、ccTouchesMovedを使用して移動しようとしています。私はTouchesbeganを使用するとジャンプしますが、TouchesMovedを使用してスプライトを移動しようとすると、動きもジャンプもします。どのように問題を解決する? PLZヘルプ。それが仕事をしたりしません場合TouchesMegを使用するとTouchesBeganは常に起動します

+0

あなたの方法を示すことができれば、この質問に簡単に答えることができます。 – Job

+0

@Override 公開ブール値ccTouchesBegan(MotionEvent e){ \t CGSize winSize = CCDirector.sharedDirector()。displaySize(); \t // CGPoint p = CCDirector.sharedDirector()。convertToGL(CGPoint.ccp(e.getX()、e.getY())); \t hero.runAction(CCJumpTo.action(.2f、hero.getPosition()、50、1)); \t戻り値CCTouchDispatcher.kEventHandled; } – Zahidul

+0

@Override \tパブリックブールccTouchesMoved(MotionEvent電子){ \t CGSize winSize = CCDirector.sharedDirector()表示サイズ()。 \t CGPoint p = CCDirector.sharedDirector()。convertToGL(CGPoint.ccp(e.getX()、e.getY())); \t hero.setPosition(CGPoint.ccp(p.x、p.y)); \t戻り値CCTouchDispatcher.kEventHandled; \t} – Zahidul

答えて

0

私は...あなたがわからないのアイデアを与えることができます...:D

**タッチが他のtouchEnd方法であなたのスプライトをジャンプtouchEndで何もしないよりも、移動した場合。
**タッチを移動したかどうかを追跡するためのブール値を維持できます。

+0

しかし、スプライトをtouchesBeganメソッドを使って飛び越させてブーリアンを使用しようとしましたが、動作しませんでした – Zahidul

+0

それは複雑なプロセスあなたがtouchesBeganを使用すると思います。 ブール値の場合:BOOL moved = FALSE; touchesMovedとtouchesMovedで何らかのアクションを実行したときにTRUEに設定し、touchesEndでtrueまたはfalseが "moved"になっているかどうかを確認します。 trueの場合はfalse、次にfalseの場合はアクションなし。 – xibic