我有4 (0-3动画帧)不同的图像的硬币动画与它旋转的不同状态。我想让它看起来像它的旋转添加另外2帧(4-5),使它看起来像旋转。在目前的情况下,硬币看起来像是旋转了180度,然后回到了原来的位置。我只想垂直翻转第四和第五帧。如何才能在不创建新的冗余pngs的情况下实现这一目标?
我知道在这种情况下制作2个新的pngs并不是什么大问题,但如果我有更多的框架和/或更大的精灵,这可能会在未来的项目中产生重大差异。

发布于 2019-04-18 14:37:49
我在想,当动画达到最后的名气时,你可以让它水平翻转,但这意味着你必须省略#4和#5,以避免重复,但它看起来仍然很奇怪,因为第3帧将直接跳回到第0帧。我试着想不同的顺序放置精灵框架来清理这个问题,但我所有的解决方案要么导致重复的框架,要么导致丑陋的跳跃。也许你能解决我解决不了的问题。
不幸的是,尽管Godot支持animation_player节点的play_backwards功能,但在animated_sprite中却没有这样的功能。太糟糕了,因为这可能会解决您的问题。
现在,我认为你最好的选择就是做你想要避免的事情..自己翻转精灵图像并将其添加为动画帧,或者制作包含翻转的精灵的单独动画,并让它们分别在最后一帧之后来回切换。对于超大型项目来说,这可能会有很多工作要做,但是如果没有某种针对动画精灵的play_backwards功能,我认为这次不值得你费力地去寻找解决办法。
当然,如果我错了,我欢迎社区的任何纠正。
祝好运。
发布于 2019-05-03 01:31:45
这是完成任务的一种方法。
在godot write的ready函数中
#used to store frame value
var frame = 0在你使用的运行每一帧的函数中写道:
frame += 1
#resets the value representing the current frame
if frame > 5:
frame = 0
if frame == 4 || frame == 5:
#this should be whatever function you use to flip the sprite vetically
flip_h = true
else:
#this should be whatever function you se to flip the sprite horizontally
flip_h = false发布于 2021-01-04 18:15:01
你可能已经知道了这一点,因为我知道这张截图来自udemy课程,因为我现在正在做这件事,这将在后面的课程中解释(当添加钉兵敌人的时候)。但是对于那些不知道的人来说,可以通过添加一个AnimationPlayer和处理AnimatedSprite的动画flip_h属性的新动画轨迹来解决它。然后你必须在最后两个重复的帧上设置flip_h。
https://stackoverflow.com/questions/55680402
复制相似问题