【问题标题】:Add Sprite After Touch cocos2d触摸 cocos2d 后添加 Sprite
【发布时间】:2012-11-01 15:19:02
【问题描述】:

我的目标是在用户触摸屏幕后向屏幕添加精灵 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];

}

}

日志总是输出“Left Pressed”,但在没有添加精灵的情况下停止运行。 如果我在它确实显示的 init 方法中添加精灵。另外,我尝试更改精灵的顺序,例如 [self addChild:leftOn z:2],但它仍然不显示。

【问题讨论】:

  • leftOn 存在吗?显示你在哪里分配 leftOn

标签: cocos2d-iphone touch sprite addchild


【解决方案1】:

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

【讨论】:

  • 尝试从不同的父级调用它。谢谢!
【解决方案2】:

我刚开始使用 cocos2d,但我看到的演示在 ccTouchesEnded 添加精灵,同时使用 ccTouchesBegan 对已经存在和被触摸的内容进行操作。

【讨论】:

    猜你喜欢
    • 2014-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-24
    • 1970-01-01
    相关资源
    最近更新 更多