在做项目的时候学到的东西 记录下来 也希望方便小伙伴
using UnityEngine;
using System.Collections;
public class SetAnimation : MonoBehaviour {
GameObject obj;
Animation an;
// Use this for initialization
void Start () {
//1查找物体的第一种写法
//obj=GameObject.Find ("UI Root").transform.FindChild("Panel").transform.FindChild ("Sprite").gameObject;
//2查找物体的第二种写法
obj = GameObject.Find ("UI Root/Panel/Sprite");
an =obj.GetComponent<Animation > ();
// 物体激活时会自动播放动画
an = obj.GetComponent<Animation > ();
an ["test1"].speed = 5;
}
// Update is called once per frame
void Update () {
if(state==false&& an["test1"].time==0f)
{
this.gameObject.SetActive (false);
}
}
bool state;
public void SetActive()
{
this.gameObject.SetActive (true);
state = true;
}
public void Setfalse()
{
an ["test1"].time = an ["test1"].clip.length;
an ["test1"].speed = -5;
an.Play ();
state = false;
}
}
脚本为测试写的 有点乱 但是原理应该很简单
还有一点需要说明 场景中 有些物体在开始的时候 是未激活的 , 这时候我们想调用物体只能拖物体到检视面板中。 其实还有一种方法 你可以查找到他激活的父物体在通过父物体查找到子物体, 这样即使他没被激活 也可以调用他。 这个感觉很实用 期望能帮到大家