0
我使用Xcode和Cocos2d版本3.0。用TouchMoved拖动精灵
我想拖动屏幕上的精灵。我已经成功地使用了以下代码:
(void) touchMoved:(UITouch *)touch withEvent:(UIEvent *)event
{
CGPoint touchLocation = [touch locationInNode:self];
sprite1.position=touchLocation;
sprite2.position=touchLocation;
sprite3.position=touchLocation;
sprite4.position=touchLocation;
}
但是,有时候精灵会在一秒钟后停止移动。这不是一个滞后,因为他们从来没有跟上我的运动。他们停止!如果我放开并再次开始移动我的触摸,精灵再次开始移动正常/有时再次执行“冻结”。
这是内存问题吗?
好吧,我确定它一定是记忆。我将这些代码复制到了一个几乎没有任何精灵的简单游戏中,并且完美运行。
也许触摸离开[self boundingBox],在这种情况下,您将停止接收touchmoved事件。 – YvesLeBorg 2014-09-25 17:03:59
感谢您的回复伊夫。我认为'自我'是指整个屏幕。当然,我的手指不会离开屏幕。也许我应该改变'自我'到别的东西? – SunnyDay1203 2014-09-25 17:15:24
我不玩飞镖:)如果你“知道”自己的边框是全屏,那么你是对的,我没有进一步的解释提供。运气 – YvesLeBorg 2014-09-25 17:24:16