我有一个GameObject为空,我将其重命名为:Elevator。 作为孩子,我有平台,platform1和一个按钮。
我想做的是当玩家ThirdPersonController站在平台上然后点击按钮时电梯将上下移动。
在屏幕截图中,Hierarchy和脚本我称之为Lift和动画:Elevator和Up and Down。首先我选择了电梯,然后在菜单中我做了Window>动画然后我创建了称为Elevator的动画,但我没有做任何事情。然后我创建了更多两个叫做它们的动画:Up和Down。当我玩Up时,空的GameObject向上移动所有的childes。当我向下播放它时,它会向下移动。
脚本Lift附加到Button。我还在GameObject(Elevator)中添加了一个组件动画。
这是截图:
这是c#脚本:
using UnityEngine;
using System.Collections;
public class Lift : MonoBehaviour {
private bool pressedButton = false;
private bool isElevatorUp = false;
GameObject target;
void OnMouseOver()
{
pressedButton = true;
}
void OnMouseExit()
{
pressedButton = false;
}
void OnMouseDown()
{
if(isElevatorUp == false)
{
target = GameObject.Find("Elevator");
target.GetComponent<Animation>().Play("Up");
isElevatorUp = true;
}
else
{
target = GameObject.Find("Elevator");
target.GetComponent<Animation>().Play("Down");
isElevatorUp = false;
}
}
void OnGUI()
{
if(pressedButton == true)
{
GUI.Box(new Rect(300, 300, 200, 20), "Press to use lift!");
}
}
}
在Elevator Inspector中,我拖动了动画向上动画片段。
在运行游戏时,我收到两条消息:
用符号&#39;!&#39;在附加的动画列表中找不到默认剪辑。
警告:AbimationClip&#39; Up&#39;由动画组件&#34; Elevator&#34;使用必须标记为遗产。
当我将鼠标移到按钮上时,我看到一个小盒子:&#34;按下以使用电梯!&#34; 当我单击按钮时,我看到错误消息:
动画状态Up无法播放,因为无法找到它! 请附上一个名为&#39; Up&#39;的动画片段。或仅为现有动画调用此功能。