【发布时间】:2022-02-17 20:58:33
【问题描述】:
我有一个代表一种 NPC 的场景。这些 NPC 具有相同的行为和相同的动画。唯一的区别是他们看起来略有不同(例如,他们穿着不同颜色的衣服)。所以我有多个稍微不同的 spritesheets PNG 文件(它们都包含完全相同数量的帧)。
如何使特定的 spritesheet 图像易于为场景实例配置?
我尝试了什么
有了这个场景结构:
我设法实现了这样的东西:
extends KinematicBody2D
export(Texture) var texture
func _ready():
$Sprite.texture = texture
这种方法有效,但给了我一堆错误,例如:
scene/animation/animation_tree.cpp:828 - Condition "!track_cache.has(path)" is true. Continuing.
它还创造了一种非常糟糕的体验,因为图像不再显示在编辑器中 - 只有在实际运行游戏时才能看到它。
另外
实际上,并非所有这些 NPC 都有完全相同的精灵表。它们具有相同名称的动画,但一个 NPC 可能有 2 帧的空闲动画,而另一个 NPC 可能有更长的 20 帧空闲动画。
我想知道是否可以为这个 NPC 场景的每个实例同时配置 SpriteSheet 和 AnimationPlayer(为每个动画定义帧)?
【问题讨论】: