房子模型开门、关门操作

来源:互联网 发布:php curl get请求参数 编辑:程序博客网 时间:2024/04/30 16:51

首先对房子模型进行一定的设置操作--切割动画片段、动画片段兼容



看下小案例的构造--只有一个地面、第一人称、灯光、房子(地面、灯光省略不贴图)



先看第一人称视角




看房子模型


playercollisions

#pragma strictprivate var doorisopen:boolean=false;private var doortimer:float=0.0;private var currentdoor:GameObject;var door_open_time:float=3.0;var door_open_sound:AudioClip;var door_shut_sound:AudioClip;//function Update(){//if(doorisopen){//doortimer+=Time.deltaTime;//}//if(doortimer>door_open_time){//shutdoor(currentdoor);//doortimer=0.0;//}//}/* 如果门开了就开始计时,如果时间大于3秒,就关门,然后时间还原为0*/function Update(){if(doorisopen){doortimer+=Time.deltaTime;if(doortimer>door_open_time){door(false,door_shut_sound,"doorshut",currentdoor);doortimer=0.0;}}}//检测角色控制器与其他碰撞器碰撞的专用函输,hit存放碰撞信息用function  OnControllerColliderHit(hit:ControllerColliderHit){//判断与角色控制器碰撞的物体的标签名,并且门关闭时,执行开门操作if(hit.gameObject.tag=="playerDoor" && doorisopen==false){//将门付给一个gameObject供关门操作用currentdoor = hit.gameObject;//opendoor(hit.gameObject);door(true,door_open_sound,"dooropen",currentdoor);}}function door(doorcheck:boolean,a_clip:AudioClip,anim_name:String,thisdoor:GameObject){ doorisopen = doorcheck; thisdoor.audio.PlayOneShot(a_clip); thisdoor.transform.parent.animation.Play(anim_name);}//显示碰撞到的物体的名字//function opendoor(door:GameObject){//doorisopen = true;//door.audio.PlayOneShot(door_open_sound);//door.transform.parent.animation.Play("dooropen");//}//function shutdoor(door:GameObject){//doorisopen = false;//door.audio.PlayOneShot(door_shut_sound);//door.transform.parent.animation.Play("doorshut");//}



0 0
原创粉丝点击