44. PLAYERを動かそう その8
// Use this for initialization
void Start(){
}
// Update is called once per frame
void Update(){
float h = Input.GetAxisRaw ("Horizontal");
if(h != 0){
transform.Translate (h * Time.deltaTime, 0, 0);
}
}
44
45. PLAYERを動かそう その9
// Use this for initialization
void Start(){
}
// Update is called once per frame
void Update(){
float h = Input.GetAxisRaw ("Horizontal");
if(h != 0){
transform.Translate (h * Time.deltaTime, 0, 0);
}
}
45
キーボードなどの横入力を取得
「if」とは「もしも○○だったら」という意味です。今回は1行前で取得
した「h」の数値が0以外だったらという意味です。
解説
46. PLAYERを動かそう その10
// Use this for initialization
void Start(){
}
// Update is called once per frame
void Update(){
float h = Input.GetAxisRaw ("Horizontal");
if(h != 0){
transform.Translate (h * Time.deltaTime, 0, 0);
}
}
46
「Time.deltaTime」とは1フレームごとの経過時間のことです。
フレームとはコンピュータの処理のことです。(以下読み飛ばしOK)
たとえばコンピュータがこの処理を1秒間に100回実行(100フレーム)したとします。する
と、右か左のちらのキーボードを1秒押すだけであっという間に100移動することになり
ます。(結構遠くまで行く)
Unity世界での「1移動」とは「1m移動」という意味なので秒速100mで動くプレイヤーに
なってしまいます。そこで、先程説明した「Time.deltaTime」を使います。コンピュータの
処理回数が仮に 100フレームだとすると、「Time.deltaTime」には0.01(1秒の100分の1)
の値が入っています。
これを使用して1秒間移動すると、
h(1もしくは-1) * Time.deltaTime(1秒/フレーム数) * 1秒間(フレーム数) となり、
1もしくは-1の移動ができます。
というわけで、移動や回転には「Time.deltaTime」を使用するのをお勧めします。
transform.Translateは移動に使われるプログラムです。
今回は横(X)方向に移動させるため、(x,y,z)のxの場所に数値を入れます。
hには「1」か「-1」が入力されています。
右キーを押すと「1」が、左キーを押すと「-1」が入力されます。
← 左 -1 1 右 →
解説
52. SCENE LOAD その2
using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;
public class Move : MonoBehaviour {
// Use this for initialization
void Start () {
}
52
76. カメラがついてこない その2
public class Move : MonoBehaviour {
public GameObject cameraPosi;
bool jumpFlg = true;
// Use this for initialization
void Start () {
}
76
77. カメラがついてこない その3
public class Move : MonoBehaviour {
public GameObject cameraPosi;
bool jumpFlg = true;
// Use this for initialization
void Start () {
}
77
カメラの情報を取得したいのでカメラ用の変数を用意しておきます。
「public」とは「公(おおやけ)」という意味があり、外から情報を確認できたり、操作できた
りします。どういう意味かというと、変数の前にこの「public」を書いておけばプログラムで
いちいち数値を入力しなくても、Unity画面から変数の中を操作することが出来ます。
その操作はあとでしますので、いまはとりあえず「そういうもんなんだなぁ」と思っておい
てください。
解説
85. PLAYERの調節 その4
public class Move : MonoBehaviour {
public GameObject cameraPosi;
public float moveSpeed = 1;
bool jumpFlg = true;
// Use this for initialization
void Start () {
}
85
86. PLAYERの調節 その5
public class Move : MonoBehaviour {
public GameObject cameraPosi;
public float moveSpeed = 1;
bool jumpFlg = true;
// Use this for initialization
void Start () {
}
86
移動速度用の変数を「public」で作ります。前にも言いましたが、「public」なので、Unity
画面から変更できます。らくちん、らくちん♪
ただ最初の値としてとりあえず「1」と入力しておきましょう。
floatの説明(飛ばしてもOK)
「float」は小数を保存できる変数のことです。
数値を保存できる変数は他に「int」というものがありますが、「int」は「整数」のみ保存で
きるため、微妙な調整ができるように今回は「float」を使っています。