2017-07-04 5 views
-1

私はクラスにアニメーションなしで開くことを試みていますが、これはビジュアルスタジオでうまくいきます統一してテストすると、ドアは何もしません。私はこれをどうやって行うのか分からないので、何か助けてくれるようお願いします。コードは、それは非常に安全でない場合であっても動作するはずアニメーションなしで開いたりスライドしたりするドアを作成しようとしています

using System.Collections; 
using System.Collections.Generic; 
using UnityEngine; 

public class OpenDoor : MonoBehaviour 
{ 
    float smooth = 2.0f; 
    float DoorOpenAngle = 90.0f; 
    float DoorCloseAngle = 0.0f; 
    bool open; 
    bool enter; 



    void OnTriggerEnter(Collider other) 
    { 
     if (other.gameObject.tag == "Player") 
     { 
      enter = true; 
      print("open"); 
     } 
    } 


    void OnTriggerExit(Collider other) 
    { 
     if (other.gameObject.tag == "Player") 
     { 
      enter = false; 
      print("close"); 
     } 
    } 

    void update() 
    { 
     if (open == true) 
     { 
      print("if(open)"); 
      var target = Quaternion.Euler(0, DoorOpenAngle, 0); 
      transform.localRotation = Quaternion.Slerp(transform.localRotation, target, Time.deltaTime * smooth); 
     } 

     if (open == false) 
     { 
      print("if(!open)"); 
      var target1 = Quaternion.Euler(0, DoorCloseAngle, 0); 
      transform.localRotation = Quaternion.Slerp(transform.localRotation, target1, Time.deltaTime * smooth); 
     } 

     if (enter == true) 
     { 
      print("if(enter)"); 
      if (Input.GetKeyDown("f")) 
      { 
       open = !open; 
      } 
     } 
    } 
} 
+1

ログには何が表示されますか? –

答えて

0

... はプレイヤーとドアの両方がコライダーを持っていることを確認します。ドアのコライダーのIsTriggerオプションがtrueになっています。

関連する問題