3.Component及び位置の取得、transformの使い方について
前のページ
https://gyazo.com/c92e1bad57018c81cb851c87b5a52d4a
Unityでオブジェクトを選択した後、右側にある機能達をComponentという
ComponentはGameObjectの動作を定義するもの
componentはinspectorのadd Componentから追加する
table:Component
名前 例
Transform 位置/回転/大きさを定義
Mesh Filter/Mesh Renderer GameObjectの見た目を構成
Collider 衝突/接触判定を作る
Outline Textの縁取り
など様々存在する
例えばGameobjectの位置を取得したい時
code:C#
mypos=gameObject.transform.position;
と書く
gameObjectで自身のGameObjectの情報を取得し、transform.positionでtransform内のPositionのデータを取得している
これでx座標のみのデータを取得したい場合はgameObject.transform.position.xと書く
他のGameObjectのcomponentを取得したい時はGetComponent<○○>()を書く
これは○○というcomponentの情報を取得するという意味
以下使い方例)
code:C#
private void OnCollisionEnter(Collision collision)
{
if (collsion.gameObject.tag == "Enemy")
{
collision.gameObject.GetComponent<Enemy>().hp -=1;
}
}
collision.gameObjectは衝突したGameObject(この場合はTagがEnemyの時)を取得
GetComponent<Enemy>()はEnemyのcomponentを取得
.hpで取得したEnemyのコンポーネントを(クラス)に存在するhpの変数の値を取得
拡大、座標の追加、回転について
code:C#
transform.position += new Vector3(0, 0, i);//z軸にi座標をプラスする(この時ワープに近い動きになる)
transform.Rotate(new Vector3(1, 1, 1));//xyz軸をそれぞれ1度傾ける
transform.localScale += new Vector3(i, i, i);//xyzの大きさをi大きくする
次のページ