FC2ブログ
04 «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.» 06

ハルシオンシステムの気ままBlog

株式会社ハルシオンシステムのメンバーが送る、UnityやらJavaやらの技術的話題から、自社開発のアプリの宣伝とかとかのブログです。ほんと気ままにいきたいと思います。更新日は毎週 月 木でっす!

 

【ハルシオンブログ】Unityでもちゃんと定数使ってますか? 

いっきに暑くなってまいりました。
ご機嫌麗しゅう?
坂内です。

初心に帰って簡単な話ですが、大切な話。

定数って皆さん使っていますか?

const とかってやつです。


定数を使うところってどんなところでしょうか?
例えば2Dキャラを移動するにあたり、X座標が-100、+100を超えないようにしたい場合、こんな感じで書いたりしますよね。


chara2D.transform.position += new Vector2(runspeed * Time.deltaTime * direction);
if(chara2D.transform.position.x < -100){
chara2D.transform.position = new Vector2(-100, chara2D.transform.position.y);
}else if(chara2D.transform.position.x > 100){
chara2D.transform.position = new Vector2(100, chara2D.transform.position.y);
}



範囲が‐100~100から-50~50に変更された場合には4か所修正をしなくてはいけません。
また、この‐100や100という数値を使った場所がここ以上に存在する場合、その部分も変えないといけなくなります。
いちいち検索してやるのも大変ですよね・・・・ってことで

こういう時に定数を使いましょう


const float MOVE_CHARA_X_MIN = -100;
const float MOVE_CHARA_X_MAX = 100;

~~~

chara2D.transform.position += new Vector2(runspeed * Time.deltaTime * direction);
if(chara2D.transform.position.x < MOVE_CHARA_X_MIN){
chara2D.transform.position = new Vector2(MOVE_CHARA_X_MIN, chara2D.transform.position.y);
}else if(chara2D.transform.position.x > MOVE_CHARA_X_MAX){
chara2D.transform.position = new Vector2(MOVE_CHARA_X_MAX, chara2D.transform.position.y);
}



こんな感じでキャラのX移動のMINとMAXを定数にしておけば、constの場所だけ変更すれば他を触らなくて済みます。

という感じで、定数を使っていきましょう!

ほんと初心な話でした。では、あでゅ~ノシ

Category: 開発日記(Unity)

tb 0 : cm 0