unity2017でアプリを作っています。ボールを上から落として下で受けたら消えるようにしました。
質問は受けた数(clearNum)をカウントしたいのですがログ出力するとStart時の0は問題ないのですが
update時が最初の1のままずっと1で表示されます。1.2.3.4.5と表示されるようにしたいのですがどこが間違っているのでしょうか?
環境)
Unity2017
言語:C#
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class BallScript : MonoBehaviour { GameObject dog; int clearNum; // Use this for initialization void Start () { this.dog = GameObject.Find("dog"); clearNum = 0; Debug.Log(clearNum); } // Update is called once per frame void Update () { transform.Translate(0, -0.1f, 0); if(transform.position.y < -5.0f){ Destroy(gameObject); } //当たり判定 Vector2 p1 = transform.position; //ボールの中心座標 Vector2 p2 = this.dog.transform.position; //dogの中心座標 Vector2 dir = p1 - p2; float d = dir.magnitude; float r1 = 0.5f; //ボールの半径 float r2 = 1.0f; //dogの半径 if(d < r1 + r2){ //衝突したらボールを消す clearNum++; Destroy(gameObject); Debug.Log(clearNum); //何回衝突したかカウントする } } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/06/04 01:32