使一个 FlxSprite 表现得像另一个 FlxSprite 的 child

Make a FlxSprite behave as the child of another FlxSprite

在 Flixel 中,you cannot add a FlxSprite to another one,就像使用 Flash API 一样(Sprites 是 DisplayObject 的子类)。因此,如果您希望 2 个 Sprites 表现得像 parent 和 child,您仍然需要分别 对它们进行动画处理。如果您也使用 Tweens,这可能会变成一场噩梦。

例如,想象一个带有推进器的旋转宇宙飞船,或者一个穿着盔甲、帽子、盾牌等的移动角色

有没有办法让 'child' Sprite 表现得像添加到 'parent' 一样,以便它 自动 更新其位置,相应地缩放和旋转?例如,在他们 FlxGroupupdate() 功能期间?

我对 HaxeFlixel 3.3.1 很感兴趣,虽然这并不重要,因为它适用于 Flixel 的所有版本和端口。

编辑:我注意到 HaxeFlixel 具有 FlxSpriteGroup 的功能,它应该可以处理多个 Sprites。但这是一项新功能,我很确定 flixel 开发人员正在为其余的 flixel 端口使用不同的方法。

有一个可用的有限版本:http://api.haxeflixel.com/flixel/addons/display/FlxNestedSprite.html

HaxeFlixel 提供 FlxSpriteGroup and FlxNestedSprite 两者都可以用来让一些精灵作为一个整体表现。在这两种方法中,我在更新 anglescale 属性时遇到问题,但是更新位置似乎工作正常。

如果您对单独设置精灵动画不感兴趣,并且将一个精灵绘制在另一个精灵之上就是您所需要的,FlxSpritestamp() 函数可能就是您所需要的(例如绘制为你的角色戴上头盔)