以前の記事では、transform.positionを整数に変換して条件指定を行いました。
今回は、小数第2位に丸めた値で、if文による条件を設定してみましょう。
transform.positionによる移動の際、少数以下の端数が出ては、条件の設定がうまくいきません。

小数第2位までの値で取得すれば、以下のように、Positonでの条件指定が可能となります。

関連記事:
特定の座標まで行けば跳ね返る
座標を整数に変換して条件分岐
transform.positionの値を整数で取得
transform.positionの値を小数第2位で端数処理
小数第2位までの数値をfloat型で作る
transform.positionの小数値による条件設定
Cubeオブジェクトを用意します。

Cubeオブジェクトを用意し、CubeMove.csを追加しました。

CubeMove.csを記述しましょう。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | using System.Collections; using System.Collections.Generic; using UnityEngine; public class CubeMove : MonoBehaviour {     private float move = 0.05f;     public bool zBool = false;     public bool xBool = false;     void Update()     {         Vector3 position = new Vector3(0, 0, move);         transform.Translate(position);         Debug.Log(float.Parse(this.transform.position.z.ToString("f2")));            if (float.Parse(this.transform.position.z.ToString("f2")) == 5.25f)            {                if (!zBool)                {                    zBool = true;                    transform.Rotate(new Vector3(0, 70, 0));                }            }          if (float.Parse(this.transform.position.x.ToString("f2")) == 8.5f)          {              if (!xBool)              {                  xBool = true;                  zBool = false;                  transform.Rotate(new Vector3(0, 135, 0));              }          }           if (float.Parse(this.transform.position.z.ToString("f2")) == -6.45f)          {              if (!zBool)              {                  zBool = true;                  xBool = false;                  transform.Rotate(new Vector3(0, 30, 0));              }          }     } } | 
float.Parseを使えば、少数以下の端数処理が可能になります。
ToString("f2")では、positionの値を小数第2位で丸めて、文字列に変換。
0.05ずつ移動しているため、if文による座標指定には0.05で割り切れる数値を入れましょう。
ゲームプレイして、動きを確認します。

if文を使って、座標による条件分岐が出来ました。
Updateの中で一回だけ実行させるために、XboolとZboolという2つのフラグを作成しています。
関連記事:
特定の座標まで行けば跳ね返る
座標を整数に変換して条件分岐
transform.positionの値を整数で取得
transform.positionの値を小数第2位で端数処理
小数第2位までの数値をfloat型で作る
 
	   
         
         
           
         
           
        