Unityで2Dシューティングゲームを作っています。
自機の発射した弾や倒せずに逃した敵などを自動的に削除するプログラムを作りたいのですが思ったようにうまくいきません。
まず、Stageとなる背景のBoxCollider2DのEbit Colliderで範囲を決め、isTriggerをtrueにし、プログラム側で
void OnTriggerEnter(Collider2D col)
{
Debug.Log("success");
}
と書いているのですが、自機の弾を撃っても、自機をぶつけても、敵をわざと逃しても"success"を表示してくれません。
Triggerの効果は、同じようにTriggerをtrueにしたもの同士だけしか反応しないのでしょうか?
また、考えながら気づいたのですが、Colliderにも沢山の種類があるようで、どれを使えば、何かに強い、とかあるのでしょうか?
BoxやCapsuleは形状が違うだけなのか? とか 性質はどういう風に違うのだろう、とふと疑問に思いました。
少し関係ないことも質問に上げてしまいましたが、何かしらのヒントのようなものをくだされば大変嬉しいです。
Code
using UnityEngine;
using System.Collections;
public class StageDestry : MonoBehaviour {
// Use this for initialization void Start () { } // Update is called once per frame void Update () { } void OnTriggerEnter(Collider A) { Debug.Log(A); }
}
こんな感じです。特に触らずにTriggerEnterだけ追加だけです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/09/25 00:43
2015/09/25 05:18
2015/09/25 12:11