1
下午好。统一c#动画属性更改精灵
在动画属性(精灵),如何更改C#中某个帧的精灵? 我试图通过调用一个函数来放置一个事件,该函数将渲染对象的精灵放入精灵字段中,但不会更改运行。 他运行它在动画中定义它。我试图直接在那里改变,但不知道该怎么做。
请帮忙!
下午好。统一c#动画属性更改精灵
在动画属性(精灵),如何更改C#中某个帧的精灵? 我试图通过调用一个函数来放置一个事件,该函数将渲染对象的精灵放入精灵字段中,但不会更改运行。 他运行它在动画中定义它。我试图直接在那里改变,但不知道该怎么做。
请帮忙!
据我所看到和研究,你目前不能。
最好的解决方法,我之前完成并强烈推荐的解决方案之一是创建一个类似CustomAnimationClip脚本的小精灵和定时器以从每个帧切换到下一个的定时器。然后,您可以通过编辑数组随时更改动画的精灵。
这里有一个例子:
SpriteRenderer spriteRenderer;
public Sprite[] frames;
[SerializeField] int fps;
int currentFrame = 0;
float frameTime;
float frameTimer = 0;
void Awake()
{
spriteRenderer = GetComponent<SpriteRenderer>();
}
void Start()
{
frameTime = 1/(float)fps;
spriteRenderer.sprite = frames[0];
}
void Update()
{
if (frameTimer < frameTime)
{
frameTimer += Time.deltaTime;
}
else
{
spriteRenderer.sprite = frames[currentFrame];
currentFrame = (currentFrame + 1) % (frames.Length);
frameTimer = 0;
}
}
谢谢 我会尽力。 正是我所需要的:D –
如果能为您工作,请您接受我的答案:)?谢谢! –