学习笔记:Unity战斗卡牌游戏(三)-----代码加载预设 及 Tween动画使用及播放回掉

动态加载弹出框:

1. 将弹出框存在Resources目录下,成为一个预设

image

2. 用Resouces.Load来加载

GameObject obj = Resources.Load<GameObject>("Prefab/PanelMail") as GameObject;

3. 设置资源的父物体,注意用其克隆体来操作

GameObject panelMail = Instantiate(LoadMailResource(path)) as GameObject;
panelMail.transform.parent = GameObject.Find("UI Root").transform;
panelMail.transform.localEulerAngles = Vector3.zero; // 不旋转
panelMail.transform.localScale = Vector3.one; // 不形变
panelMail.transform.localPosition = Vector3.zero; // 不改变位置

4. 加入挡板,防止生成多个弹出框

imageimageimage


params 关键字:
public void InitData(params object[] paramsArr){}

表示调用InitData时可以传任意多个参数。


动态加载脚本:

image

PanelMail pm = obj.AddComponent<PanelMail>();
pm.InitData(index);

tween动画:

1. 加入TweenScale脚本

image

2. 得到脚本对象并播放动画

if (click.name.Equals("BtnClose") || click.name.Equals("BtnRemove"))
{
       TweenScale ts = gameObject.GetComponent<TweenScale>();
       ts.onFinished.Add(new EventDelegate(PlayReturn)); // 添加播放完的回调函数
        ts.Play(false); // false表示反向播放

 }
void PlayReturn()
{
    Destroy(gameObject);
}
posted @ 2015-07-01 22:54  薇清浅  阅读(1798)  评论(0编辑  收藏  举报