Unity上で球体のオブジェクトを移動させるのに下のようなプログラムを書いてみました。
このプログラムに改良を加えて十字キーの右側が入力されている間、15度ずつ右を向き、なおかつ左のキーを入力している間はその反対の処理が行われるプログラムを書きたいのですが、どのように書けば短くなおかつ自分のような初心者にもわかりやすいでしょうか。
自分はプログラムについての知識は殆ど無知で、下のプログラムもいろいろなサイトを調べてそれらしく書いてみただけです。 Unityについては本で読んだ程度の知識しかありません。
C#
1using UnityEngine; 2using System.Collections; 3 4public class PlayerCL : MonoBehaviour 5{ 6 public Vector3 SPEED = new Vector3 (0.1f, 0.1f, 0.1f); //ここでプラスされる値(移動速度)を決める (x,y,z) 7 8 void Start () 9 { 10 11 } 12 13 void Update () 14 { 15 Move (); //移動処理 16 } 17 18 void Move () //ここは移動用の関数 19 { 20 Vector3 Position = transform.position; 21 22 if (Input.GetKey (KeyCode.RightArrow)) //右矢印キーが入力された時、SPEEDのXの値だけプラスされる。 23 { 24 Position.x += SPEED.x; 25 } 26 if (Input.GetKey (KeyCode.LeftArrow)) //左矢印キーが入力された時、SPEEDのXの値だけマイナスされる。 27 { 28 Position.x -= SPEED.x; 29 } 30 if (Input.GetKey (KeyCode.UpArrow)) //上矢印キーが入力された時、SPEEDのZの値だけプラスされる。 31 { 32 Position.z += SPEED.z; 33 } 34 if (Input.GetKey (KeyCode.DownArrow)) //下矢印キーが入力された時、SPEEDのZの値だけマイナスされる。 35 { 36 Position.z -= SPEED.z; 37 } 38 39 transform.position = Position; 40 } 41} 42
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/03/24 08:32