我在 master 分支上,以便它可以与 ARC 一起使用。
我已经实现了一种方法,当用户触摸精灵时,精灵将缩放 1.1 倍。多次触摸将使多个缩放动作排队,建立在彼此之上。时不时地我得到一个奇怪的工件,其中较小版本的精灵出现在缩放版本的顶部。
这是一个屏幕截图:
更多背景:我正在使用纹理图集,所以我使用:
sprite = [super spriteWithSpriteFrameName:anObject.filename];
初始化精灵。这是 openGL/cocos2d 中的错误吗?有关如何停止此工件的任何建议?
编辑:我是 CCSprite 的子类,但据我所知,只有一个精灵实例(对 super 的调用是在类方法中)。基本上,用户将定义精灵将执行的操作列表。也可以使用以下方法中断操作列表:
[self stopAllActions]
我已经使用 CCMoveBy 和 CCRotateBy 的子类进行了操作,没有任何问题。只有最新的 CCScaleBy 子类会导致此工件。在这些动作的子类中,我没有更改动作中的任何内容,只是跟踪某些变量,以便我可以在中断后正确恢复动作。