2016-08-13 18 views
1

私はアニメーションクリップをスイングしています。特定のフレームで、私はイベントを追加しました。プレイヤーが剣を振ると欲しい、その場合は敵だけが死ぬかもしれない。アニメーションイベントの衝突を検出します。

だから私は、次のOnTriggerEnterコード

void OnTriggerEnter(Collider col) 
{ 
     hit = true; 
     if (hit) 
     { 
      if (col.GetComponent<Collider>().tag == "enemy") 
      { 
       Destroy(col.gameObject); 
      } 
     } 
} 

私はアニメーションイベントとして(アニメーションクリップで)関数OnTriggerEnterを追加しようとすると、私が追加することはできませんよどの、衝突パラメータを渡すために私を求めているを追加しました。

Here is the screen shot of Add Event

どのように私は特定のフレームで(パラメータとして)コライダーでイベントを追加することができ、私を助けてください...おかげ

答えて

0

CollisionTriggerイベントはすべてのフレームに、自分で呼ばれています。

アニメーションイベントから別のパブリックメソッドを呼び出し、必要に応じてBooleanまたはEnumを配置して衝突を制御し、剣を振った後にトリガーします。

public void SwingingSword() 
{ 
isSwingingSword = true; // make it false when not swinging the sword. 
} 

void OnTriggerEnter(Collider col) 
{ 
    hit = true; // not sure what it's job here 

    if (isSwingingSword && hit) 
    { 
    if (col.GetComponent<Collider>().tag == "enemy") 
    { 
    Destroy(col.gameObject); 
    } 
    } 
} 
+0

ニース..ありがとう。あなたの助け:-) – amulbhatia