核心步骤是:
新建一个Button,然后选中Button下的Text,点击Window->Animation.
然后新建一个Animation,点击Add Property -> Rect Transform -> Anchored Position,
然后添加一个关键帧,修改该物体的y值坐标。最后把Animation的Loop勾选掉以防重复播放动画。
完成这些步骤后,运行一下,应该就可以看到Text 从下到上运动 到静止。
做完这些后,将button下的Text拖出形成一个Prefabs,随后把Button的Text删除掉。
除此之外,在Text的Prefabs添加一个DstroyItSelf脚本,目的是播放完动画后自动删除这个Text.
随后在Button添加一个脚本,代码如下:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class ClickToHitBlood : MonoBehaviour {
public GameObject bloodText;
public int bloodNum = 1000;
private int bloodHit;
public void HitBlood()
{
GameObject go = (GameObject)Instantiate(bloodText);
go.transform.SetParent(this.transform);
bloodHit = Random.Range(30,100);
bloodNum -= bloodHit;
if(bloodNum > 0)
{
go.GetComponent<Text>().text = (-bloodHit).ToString();
}
else
{
go.GetComponent<Text>().text = "你没血了!掰掰!";
}
}
}
最后,给Button绑定事件。。。然后点击按钮,就可以看到血量减少的从下到上升起到消失的动画了。
DestroyItself的脚本直接在Start函数里面添加一句Destroy(this.gameObject,1.5f);就可以了