好的我想做的是复制Space Invaders Evolution的控件。
在任何地方开始触摸然后拖动,精灵用手指1:1移动。 精灵无法移动屏幕。
我一直在使用UIGestureRecognizer来处理在屏幕上拖动精灵的问题,但我仍然很新,我还没有能够让它工作。
答案 0 :(得分:1)
我不知道你是否不愿意尝试这一点,但在我看来,使用ccTouchesBegan和ccTouchesMoved可以很容易地做到这一点。我通过在ccTouchesBegan和ccTouchesMoved方法中添加以下内容来实现它(其中sprite是您要移动的精灵的名称):
UITouch *touch = [touches anyObject];
CGPoint location = [touch locationInView:[touch view]];
location = [[CCDirector sharedDirector] convertToGL:location];
sprite.position = ccp(location.x, location.y);
答案 1 :(得分:0)
您使用的是Cocos2D还是Apple Frame-work?
在cocos2d中,您可以使用图层(例如您的场景)来检测触摸,然后移动精灵。应用移动时,检查精灵是否仍在屏幕边界内,如果不是,则将其移回屏幕边界。
cocos2d发行版中有示例触摸代码。不是针对您的具体情况,而是一般代码,包含文字和说明。