【问题标题】:Sprite not remove from scene iOS精灵不会从场景 iOS 中移除
【发布时间】:2013-02-21 14:22:08
【问题描述】:

我正在制作一款 JewelDash 类型的游戏。一段时间后由于某种原因,本应从场景中移除的 1 个精灵没有。那个精灵不会对触摸做出反应,什么都没有,它就在那里。在其他新创建的精灵下方进行环聊。这可能是什么原因?

我将我所有的精灵添加到一个 spritesArray 中。每当用户触摸一个块时,我都会遍历 spritesArray 并确定触摸了哪个精灵。它不响应触摸的事实告诉我它已从 spritesArray 中删除

当许多精灵同时被移除时会发生这种情况。而且很少发生。

谢谢。

【问题讨论】:

  • 你在这里使用什么框架? iOS 本身对精灵一无所知。 Cocos2D?
  • 是的,我正在使用 cocos2d。
  • 如果您将其从阵列中移除,您还需要将其作为子项移除。听起来那部分失败了。贴出代码。

标签: ios cocos2d-iphone sprite


【解决方案1】:

如果您使用 NSMuttableArray,可能会发生您没有分配 init spritesArray 的情况,因此在添加任何精灵之前在 init 方法中分配初始化它有时这发生在我身上,所以我无法访问任何精灵,因为数组未初始化。我得到我的数组 nil

也像从自我中删除孩子

[spritesArray removeObject:sprite name];
[self removeChild:sprite name cleanup:YES];

试试这个可能会有帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-21
    • 1970-01-01
    • 2014-09-26
    • 2013-02-10
    • 1970-01-01
    • 2014-03-02
    相关资源
    最近更新 更多