触摸后添加精灵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],但它仍然不显示。

+0

是否存在?显示你分配的剩余位置 –

你是什么意思下“停止运行”?你的应用程序崩溃了?像Ben Trengrove说的那样,确保leftOn不是nil,并且这个精灵不会被添加到另一个父母身上。两种情况都可能导致崩溃。如果您的应用程序崩溃,从控制台查看错误可能很有用。它可以帮助理解问题出在哪里。

+0

尝试从不同的父母调用它。谢谢! –

+0

不用客气 – Morion

我刚刚开始使用cocos2d,但我见过的演示在ccTouchesEnded上添加了精灵,同时使用ccTouchesBegan对已存在和正在触摸的内容执行了操作。