次は球に"Rigidbody"をアタッチします。
"Hierarchy"ウィンドウで"Sphere"をクリックします。
"Inspector"ウィンドウで一番下の"Add Component"ボタンを押します。
"Physics"をクリックします。
"Rigidbody"を押します。
これで物理法則がアタッチされました。
試しに"Ctrl+P"してみましょう。
球が落下して床にくっつきました。
ところがこれでは何も面白くないので、
"Rigidbody"の"Use Gravity"チェックボックスを外します。
再生すると、落ちなくなりました。
次にフォルダを作ります。
"Project"ウィンドウの上で右クリックして、
"Create"->"Folder"と進み、名前を"Scripts"とします。
そのフォルダに入り、同様に"Create"->"C# Script"とし、
名前を"LRMove"とします。
そのスクリプトファイルをダブルクリックすると、
ユニティで使われているプログラムエディターが開きます。
以下のスクリプトを入力してください。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class LRMove : MonoBehaviour
{
Rigidbody rb; //Rigidbodyの変数
float axisH = 0.0f; //浮動小数の水平変数
float axisV = 0.0f; //浮動小数の垂直変数
// Start is called before the first frame update
void Start()
{
rb = this.GetComponent<Rigidbody>(); //最初に rb に Rigidbody のコンポーネントを得る。
}
// Update is called once per frame
void Update()
{
// カーソル左右移動
if (axisV == 0.0f) //もし落下していなければ
{
axisH = Input.GetAxisRaw("Horizontal"); //左右に球を移動
}
// サークル落下
drop = Input.GetKeyDown(KeyCode.Space); //スペースを押したら
if (drop)
{
axisV = -1.0f; //下に落ちる
axisH = 0.0f; //左右に移動しない
}
}
private void FixedUpdate()
{
rb.velocity = new Vector2(axisH * 3.0f, axisV * 5.0f); //球の移動
}
}
以上間違いなく入力したら"Ctrl+S"して"Unity"に戻ります。
"Hierarchy"ウィンドウから"Sphere"をクリックして、
"Inspector"の下の方の"Add Component"から"Script","LRMove"でアタッチします。
以上で球の左右移動と落下が出来るようになりました。
講座は今回で終わりです。有難う御座いました。