前提・実現したいこと
unityにて、アバターが動くごとに体力ゲージが減少し、
オブジェクトにぶつかると体力が回復するといったシステムを作っています。
体力ゲージはsliderにて作っています。
発生している問題・エラーメッセージ
?.アバターが歩くごとに体力が減るようにしたいのですが、一度動くとアバターが止まっても体力が減少してしまう。マイナスになっても止まらない。
?.オブジェクトにぶつかっても体力が上昇しない。
該当のソースコード
C#
1void Update() 2 { 3 //現在の座標 4 Vector3 tmp = Avatar.transform.position; 5 Avatar.transform.position = new Vector3(tmp.x, tmp.y, tmp.z); 6 7 //最初の位置と今の位置の距離 8 Vector3 Distance = Avatar.transform.position - FastPos; 9 10 float x = Distance.x; 11 float z = Distance.z; 12 13 if (!(x == 0 && z == 0)) 14 { 15 int damage = 10; 16 Debug.Log("damage : " + damage); 17 18 currentHp = currentHp - damage; 19 slider.value = (float)currentHp / (float)maxHp; ; 20 } 21 } 22 void OnCollisionEnter(Collision collision) 23 { 24 if (collision.gameObject.tag == "enemy") 25 { 26 int up = 10; 27 Debug.Log("up : " + up); 28 29 currentHp = currentHp + up; 30 slider.value = (float)currentHp / (float)maxHp; ; 31 } 32 } 33
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/14 10:20
2020/12/14 11:10
2020/12/14 13:30