・【ゲーム編】p.136「ゲームで使用する画像を用意する」から
・【文法編】float、フィールド変数、構造体 など
p.136 Assetsフォルダに画像用のフォルダを作成する
・①[Create]⇒「+」
p.137 画像ファイルを取り込む
・①の画像ファイルは「gameimage」フォルダから
p.139 プレイヤーキャラクターを出現させる
・①[Create]⇒「+」 ・②[2D Object][Sprite]⇒[2D Object][Sprites][Square] ・③の名前の変更は、戻ってしまうことがあり、p.140②の後でリトライすると良い
p.141 スクリプトを使ってShooterを動かす
・①の前にInspctorの名前が「Shooter」になっていることを確認または入力 ・①で「Shooter」と入力し「…」で「Edit Script」
p.142 Shooter.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Shooter : MonoBehaviour {
float move = 0.05f; //単精度変数を初期化して移動単位とする
void Update() { //フレーム表示ごとに実行する
Vector3 pos = transform.position; //位置情報を得る
pos.x += move; //得たX座標に移動単位を足し込む(右移動)
transform.position = pos; //位置情報に書き戻す(実際に移動する)
}
}
【文法編】p.142 float
・p.056のとおり、代表的な組み込み型の一つで、単精度実数(小数点のある値)用のデータ型 ・通常のプログラムでは、実数用の型として実行効率が高くて誤差が少ないdouble型を持ちいる ・しかし、float型はメモリ消費量が半分で、大量の実数を扱うUnity向き。 ・また、表示における座標は整数が基本なので、精度の高さはそれほど必要としない。 ・プログラム中にデータを記述したものをリテラルといい、小数点を持つ数字列は実数リテラル ・実数リテラルの例: -3.14、1234567989.0 ・実数リテラルの型はdouble型扱いなので、float型の変数に代入したり、初期値とすると精度が下がるためエラーになる ・これを避けるために、実数リテラルをfloat型扱いにすることを示す「f」または「F」を接尾語として指定すること
【文法編】p.142 フィールド変数
・クラス内でメソッドの外側に定義した変数などをフィールド変数(データメンバ)という ・なお、パブリック変数(p.052)もフィールド変数の一種 ・通常のメソッド内で定義している変数はローカル変数といい、メソッドの中でのみ有効で、メソッドが終わると破棄されてしまう ・フィールド変数はプログラム終了まで有効だが、メモリを確保し続けてしまうので、その必要がなければメモリの無駄になるので注意。 ・今回の場合、Updateメソッドが何度もUnityから呼び出され、その中で用いる変数なので、フィールド変数にした方が効率が良い