はじめに
前回オブジェクトの配置までが完了しました。
今回は配置したオブジェクトを動かしてみます。
前回の記事
配置したオブジェクトを動かすスクリプトをかく
前回配置した🦀のオブジェクトを矢印キー入力によって動くようにしたいと思います。
スクリプト起動の流れ
スクリプトを起動すると最初にStartメソッドが1度だけ走ります。
その後、Updateメソッドがフレームごとに繰り返し走ります。
スクリプト作成
プロジェクトウィンドウの+ボタンをクリックします。
(プロジェクトウィンドウ内で右クリ→Create選択でも可能です。)
C#スクリプトが作成されました。
名前は「PlayerController」とします。
追加したスクリプトをダブルクリックをするとソースコードが開きます。
※エディタをVisual Studioに設定しているために、Visual Studioが立ち上がっています。エディタの設定方法は下のスクリプトをVisual Studioでかきたいで紹介しています。
矢印キーでオブジェクトが動くようなソースコードをかいていきます。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerController: MonoBehaviour
{
void Start()
{
}
void Update()
{
// 左矢印が押されたとき、左に3移動
if (Input.GetKeyDown(KeyCode.LeftArrow))
{
transform.Translate(-3, 0, 0);
}
// 右矢印が押されたとき、右に3移動
if (Input.GetKeyDown(KeyCode.RightArrow))
{
transform.Translate(3, 0, 0);
}
}
}
ここで登場するTranslate
メソッドはオブジェクトを今の座標から引数に与えた分だけ移動するメソッドです。
かいている内容はjavascriptでゲームを作成したときと同じ感じだなという印象を持ちました。
スクリプトをVisual Studioでかきたい
開いた画面でExternal Toolsを選択すると、一番上の「External Script Editor」で自分の好きなエディタを選択することができます。
私はVisual Studioを選びましたが、Visual Studio Codeも選択できます。
かいたスクリプトをオブジェクトにアタッチする
アタッチをすると、オブジェクトはスクリプトでかいた指示通りに動くようになります。
PlayerControllerをヒエラルキーウィンドウの「kani_enemy」にドラックアンドドロップします。
これでアタッチ完了です。
ゲームを実行してみます。
動いた!けど、ちょっと動かす距離を取りすぎたかもしれません🤣
あと、今回KeyDownでかいてるので、長押しで🦀が動かないため連打が必要でした。