【问题标题】:Cocos2D for Android textures disappearCocos2D for Android 纹理消失
【发布时间】:2012-06-01 11:49:40
【问题描述】:

有时纹理会从精灵中消失。我有一个显示为白色的精灵,它上面应该有一个纹理和一个标签,其中应该有一个文本,它显示为黑色。标签是精灵的子类,所以这个问题与精灵有关。有人可以告诉我有什么问题吗?有人在 Android 上的 Cococs2D 中遇到过这个错误吗?谢谢!

【问题讨论】:

    标签: cocos2d-iphone cocos2d-android


    【解决方案1】:

    当我从 cocos2d 的“外部”进行导航时遇到了这样的问题,即我依靠 Android 的原生后退按钮的回调来改变场景。显然这个回调不能在与 cocos 相同的线程上工作并导致这个问题(可能是 TextureCache 中的 WeakReferences 问题)。希望对你有帮助:)

    【讨论】:

    • 当我回去的时候我破坏了当前的场景,当我重新进入时我重新创建它
    • 当然,这很好,但是您是使用硬件“返回”按钮返回 - Activity 中的回调,还是使用 Cocos2D 按钮返回?
    • 我已经实现了一个后退按钮,我使用了硬件后退按钮,但是我指示你做同样的事情的相同按钮。我解决了这个问题。当我破坏场景时,它来自 CCDirector.sharedDirector().end() 方法。消除这种方法解决了我的问题。感谢帮助
    • 我还有一个问题。如果你能帮我解决这个问题,我很感激:)。首先,当我将 setString 用于 CCLabel 时,它的纹理变为黑色。根据我在调用 setString 时所读到的内容,在 opengl 中为该标签重新创建了纹理(在 cocos2d 之后)。第二个在同一个场景中,我在这个标签附近有一个精灵,上面有一个纹理,当我为标签 olso 调用 setString 时,我调用一个方法来删除带有纹理的精灵,然后我用其他纹理重新创建另一个精灵并将它放回去但是精灵看起来是白色的,上面没有纹理。再次感谢您的帮助:)
    • 当我按下一个按钮来执行此操作时发生这种情况与返回按钮和返回堆栈无关
    【解决方案2】:

    你在使用 pvr 吗?当我尝试使用 pvr 时,我遇到了类似的问题。我切换到png,它为我解决了这个问题。

    【讨论】:

    • 我只使用 png 来制作纹理,在我拥有的场景中,比如说 3 个对象(精灵),每次都会从背景精灵中消失我的纹理,从其他精灵中消失一两个纹理,其他时间会从该场景中的所有精灵中消失纹理。
    • 我第一次看到,当我进入我的场景时,每个人都认为效果很好,但是当我返回并再次进入时,纹理消失但不是立即消失,而是在几秒钟后或在我玩了一些对象之后在场景中
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多