使用TouchMoved拖动精灵

时间:2014-09-25 16:52:58

标签: cocos2d-iphone drag freeze sprite touchmove

我正在使用Xcode和Cocos2d 3.0版。

我想在屏幕上拖动精灵。我已成功使用以下代码:

(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 个答案:

答案 0 :(得分:0)

好的,我已经得到了它!

当我移动精灵时,我不得不启用UISwipeGestureRecognizers。

游戏将我的touchesMoved动作注册为滑动,并取消了touchesMoved命令。