我正在使用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;
}
然而,有时精灵会在一秒钟后停止移动。这不是一个滞后,因为他们从来没有赶上我的运动。他们停下来!如果我放开并再次开始移动我的触摸,精灵再次开始移动好/有时做“冻结”的事情'试。
是内存问题吗?
好的,我确定它一定是记忆。我将这段代码复制到一个几乎没有任何精灵的简单游戏上,并且效果很好。
答案 0 :(得分:0)
好的,我已经得到了它!
当我移动精灵时,我不得不启用UISwipeGestureRecognizers。
游戏将我的touchesMoved动作注册为滑动,并取消了touchesMoved命令。