Cocos2d iphone 触摸cocos2d后添加雪碧

Cocos2d iphone 触摸cocos2d后添加雪碧,cocos2d-iphone,touch,sprite,addchild,Cocos2d Iphone,Touch,Sprite,Addchild,我的目标是在用户触摸屏幕后向屏幕添加一个精灵leftOn 这是我的密码: -(void)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event{ CGPoint location = [touch locationInView:[touch view]]; location = [[CCDirector sharedDirector]convertToGL:location]; if (CGRectContains

我的目标是在用户触摸屏幕后向屏幕添加一个精灵leftOn

这是我的密码:

-(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方法中添加精灵,它会显示出来。此外,我尝试更改精灵的顺序,例如[self addChild:leftOn z:2],但它仍然不显示。

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

我刚开始使用cocos2d,但我看到的演示在ccTouchesEnded中添加精灵,而在已经存在和正在被触摸的内容上使用ccToucheSbegind进行操作。

是否存在leftOn?显示您从其他父级调用它的位置。谢谢