触摸后添加精灵cocos2d
我的目标是在用户触摸屏幕后向屏幕添加一个精灵leftOn。触摸后添加精灵cocos2d
这里是我的代码:
-(void)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event{
CGPoint location = [touch locationInView:[touch view]];
location = [[CCDirector sharedDirector]convertToGL:location];
if (CGRectContainsPoint([leftOff boundingBox],location)) {
CCLOG(@"Left Pressed");
[self addChild:leftOn];
}
}
日志始终输出 “左按下” 只是不添加精灵停止运行。 如果我在它显示的init方法中添加精灵。另外,我试着改变sprite的顺序,例如[self addChild:leftOn z:2],但它仍然不显示。
你是什么意思下“停止运行”?你的应用程序崩溃了?像Ben Trengrove说的那样,确保leftOn不是nil
,并且这个精灵不会被添加到另一个父母身上。两种情况都可能导致崩溃。如果您的应用程序崩溃,从控制台查看错误可能很有用。它可以帮助理解问题出在哪里。
尝试从不同的父母调用它。谢谢! –
不用客气 – Morion
我刚刚开始使用cocos2d,但我见过的演示在ccTouchesEnded上添加了精灵,同时使用ccTouchesBegan对已存在和正在触摸的内容执行了操作。
是否存在?显示你分配的剩余位置 –