Cube1プレファブのクローンを一定時間ごとに動的生成し、それをプレイヤーが操作するオブジェクトで跳ね返してクローン同士をぶつけて消すとスコアが加算されるゲームを作りました。
下記スクリプトのように、OnTriggerEnterでEnemyタグを設定したオブジェクト(=Cube1クローン)なら相手と自分をDestroyし、playerLevelに1を加算したいのですが、実際には2~6ほど加算されてしまいます。自分と相手で同時に処理すれば2加算というのはわかるのですが、6も加算されるというのは、どういうことでしょうか?また、1だけ加算するやり方がありましたら、教えていただければと思います。
public class EnemyHit : MonoBehaviour {
void OnTriggerEnter(Collider other) { if (GameObject.Find("Cube1").GetComponent<TouchCube>().gameOverFlag) return; if (other.gameObject.tag == "Enemy") { Destroy(other.gameObject); Destroy(gameObject); GameObject.Find("PlayerLevel").GetComponent<PlayerLevel>().playerLevel += 1; Debug.Log("Enemy Hit!"); } }
}
よろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/01/13 11:29