消灭星星(三)动画以及随机星星

7 篇文章 0 订阅

星星是一个消失的动画,fadeOut,这个动画在DoTween里面有问题,验证下来一旦对一个对象实施此操作,则所有对象都会消失,而且重新开始这些对象也无法恢复显示。这里我们需要添加一个Aniation来处理星星 消失。

1 在场景中选中星星对象,如图所示打开Animation窗口,并选择create按钮
这里写图片描述

这里写图片描述
2 给这个动画取个名字叫fadeout,并保存

3 点击addProperty->Image->Color后面的加号
这里写图片描述
4 如图所示,在第2个关键帧的位置把color.a变为0,随后在这里加个回调函数,如图所示点击那个红色部分按钮
这里写图片描述
这个时候点击Animation里面的play按钮可以看到星星消失的样子了。
5 继续选择star对象,然后选择window->Animator窗口,初始图如下所示
这里写图片描述
我们需要修改一下,改成这个样子,并选择Pareameters,添加一个bool值 ,为start
这里写图片描述
6 选中start->fadeout状态之间这条线,如图所示把condition加上去
这里写图片描述
7在asset中选中fadeout这个动画 ,然后去loop去掉
这里写图片描述
8 动画制作完成,接下来与player一样,需要使用脚本来对其进行控制了,在Scripts文件夹中新建一个star.cs,的C#文件。

public class Star : MonoBehaviour {
    public GameObject _starObj;
    private Transform _trans;
    private Animator _ani;
    // Use this for initialization
    void Start () {

    }

    void Awake(){
        this._trans = _starObj.GetComponent<Transform> ();
        this._ani = _starObj.GetComponent<Animator> ();
    }

    // Update is called once per frame
    void Update () {
    }

    public void fadeOut(){
        this._starObj.SetActive(true);
        this._ani.SetBool ("start", true);
    }

    // 之前设置的帧回调函数
    public void OnCompelte(){
        Destroy(this.gameObject);
    }
}

然后把这个脚本拖拽到星星对象上,并把星星对象绑定进来。
这里写图片描述
星星的动画已经搞定,现在把它做成一个prefab,在asset中新建一个Folder,命名为Prefabs,在里面新建一个prefab,命名为star,把界面上的星星对象拖入其中就可以了。
这里写图片描述
这里写图片描述

9 在player.cs里面加上这个函数

public Canvas _cvs;               // canvas对象,在编辑器中将canvas拖入
public GameObject _starobj;       // 星星prefab对象 在编辑器中把星星的prefab拖入

public void spwanStar(){
        float endx = 372f;
        float startx = -295;
        GameObject obj = (GameObject)Instantiate (this._starobj, new Vector3 (0, 0, 0), Quaternion.identity);
        obj.GetComponent<Transform> ().SetParent (_cvs.GetComponent<Transform>());
        obj.GetComponent<Transform> ().localPosition = new Vector3 (Random.Range (startx, endx), 29, 0);
        obj.GetComponent<Star> ().fade ();
    }

只要调用这个函数,屏幕 上就会随机的出现星星了。
https://www.processon.com/i/568c6ea4e4b0e51d149a085f
这个网站解决了大家开始设计阶段的问题,轻量级的各种设计模型,强烈推荐

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值