unity中怎样控制开门动作

2022-03-16 教育 91阅读
varsliderValue=1.0;
//定义动画速度
varanimationspeed=0.5;
//定义两组动画段的名字(这里要事先在max里做好两组动画,导入时设置一下起止时间)
varclip1:String="clip1";
varclip2:String="clip2";
//定义要做运动的物体的标签
vartouchableTag1:String="";
//记录开关状态的参数
varanimationed1:boolean=false;
//刷帧函数要检测当左键按下时,做哪个动画段
functionUpdate(){
//以下为点击物体的固定模式,记住就好
varray=Camera.main.ScreenPointToRay(Input.mousePosition);
varhit:RaycastHit;
//当按下左键,并且门为关时,运行开函数,否则运行关函数
if(Physics.Raycast(ray,hit)&&Input.GetMouseButtonDown(0))
{
if(animationed1==false)
{
if(hit.transform.gameObject.CompareTag(touchableTag1))

actionrun();
}

elseif(animationed1==true)
{
if(hit.transform.gameObject.CompareTag(touchableTag1))

actionrun_fan();
}

}
}

//开门动画
functionactionrun():boolean{

animation.Play(clip2);
animation[clip2].speed=animationspeed;
animationed1=true;//要改变门的状态为开哦
}
//反向开门动画(倒放)
functionactionrun_fan():boolean{

animation.Play(clip2);
animation[clip2].speed=animationspeed*-1.0;
animationed1=false;//要改变门的状态为关哦

}
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com