当您有许多角色都具有相同的行为和动画但 Sprite 图像不同时,最好使用什么结构?

Whats the best structure to use when you have many characters that all have the same behavior and animation but different Sprite images?

我正在为我的心理学实验室制作一款游戏,该游戏具有不同的场景(丛林、海洋、沙漠、月球、地牢等),但每个场景的角色行为基本相同。是否可以编写一个 class 来拥有每个精灵都需要的所有基本行为和动画,然后拥有继承自此 class 的子 class(我只想根据每个子class)中的场景更改精灵图像。

抱歉回答晚了,但我直到现在才看到这个。您所追求的可以在 Spritebuilder 中很容易地实现,而无需子类化。至少,如果您的角色由带有动画精灵的 CCNode 组成,它会很好地工作。假设您有一个 ccb 文件,其中包含所有名为 JungleCharacter 的动画:

右键单击 JungleCharacter 文件并选择 "Duplicate"。现在,在新文件(假设我们称之为 SeaCharacter)中,您 select 每个 sprite 和 'Item properties' 窗格(在右侧)中,您可以更改 sprite 框架。因此,如果您有一个名为 "JungleCharacterLeftArm.png" 的精灵帧,您可以将其更改为等效的 "SeaCharacterLeftArm.png"。

如果在 Spritebuilder 中这样做太麻烦,您可以选择在您最喜欢的文本编辑器中进行,因为 ccb 文件是 xml 文件。您会在 "Packages/SpriteBuilder Resources.sbpack" 文件夹中找到它们(右键单击并 select "show package contents")。如果您以 "Jungle/LeftArm.png"、"Sea/LeftArm.png" 等巧妙的方式设置您的图像资源,您就可以快速查找和替换,将 "Jungle" 替换为 "Sea"(您明白了).

希望对您有所帮助!