2016-07-22 4 views
1

私は自分のユニティレベルのスライドドアを作ろうとしていましたが、アニメーションを設定することはできましたが、オブジェクトは機能していません。ユニークなキーでロックされていないスライドドアを作る

using UnityEngine; 
    using System.Collections; 

    public class Door_Animation_1 : MonoBehaviour { 

    public string Open; 
    private Animator anim_1; 
    public GameObject player; 
    private Player_inventory playerInventory; 

    void Start() 
{ 
    anim_1 = GetComponent<Animator>(); 
    player = GameObject.FindGameObjectWithTag("Player"); 
    playerInventory = player.GetComponent<Player_inventory>(); 
} 

void OntriggerEnter (Collider other) 
{ 
    if(other.gameObject == player) 
    { 
     if (playerInventory.hasKey_1) 
     { 
      anim_1.SetTrigger(Open); 

     } 
    } 
} 

任意のアイデア:ここではドアのアニメーションのスクリプトだ

using UnityEngine; 
using System.Collections; 

public class Key_Pickup_1 : MonoBehaviour { 


public GameObject player; 
private Player_inventory playerinventory; 

void Awake() 
{ 
    playerinventory = player.GetComponent<Player_inventory>(); 
} 

// Update is called once per frame 
void onTriggerEnter() 
    { 

    if (gameObject == player) 
    { 
     playerinventory.hasKey_1 = true; 
     Destroy(gameObject); 
    } 

    } 
} 

は、ここでキーカード用のスクリプトですか?

+2

c#はスクリプト言語ではありません –

+2

これは「なぜ私のコードが動作していないのですか」と尋ねる場所ではありません。質問を更新し、問題のデバッグに従った方法を教えてください。ありがとう。 – Cabrra

+3

@FirstStep私は彼がスクリプト言語と呼んでいるとは思わない。コンポーネントに添付されたコードは、Unityのスクリプトと呼ばれます。 Unityは、ゲームイベントをトリガーし、コンポーネントのプロパティを時間をかけて変更し、好きな方法でユーザーの入力に応答できるようにするため、スクリプトを使用して独自のコンポーネントを作成することができます。マニュアルから。 – Timmy

答えて

3

コード内にOnTriggerEnterメソッドの適切な大文字化がありません。 2つの異なるスペルがあり、どちらも間違っています。 正確にはOnTriggerEnter(またはの代わりにCollider2Dのオブジェクトの場合はOnTriggerEnter2D)である必要があります。

関連する問題