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 –
如果能爲您工作,請您接受我的答案:)?謝謝! –