#はじめに
今回はUnit 2Dでルーレットをつくってみましょう。
#準備
新規作成もしくはNew Projectから、プロジェクトを開きます。
そしてルーレットで使用する素材をプロジェクトウィンドウのアセット欄にドラック&ドロップします。ここでは参考にさせていただいているSBクリエイティブさんの「はじめてでも安心!Unityの教科書2019年度版」のサポートページからダウンロードした素材を使用しています。
すると、このような画面の状態になると思います。
次に素材の2つをゲーム画面にドラック&ドロップして、位置を調整してみましょう。
この時大まかな位置をマウスで、細かい座標を右側のインスペクターウィンドウのPositionからxyz座標の数値を入力するのがオススメです。
今回はルーレットを座標(0,0,0)に、針を座標(0,3.2,0)に設定します。
加えてゲーム実行の際の色味を調整すると素材が見やすくなるため、ゲーム画面のカメラをクリック→インスペクターウィンドウのCameraからBackgroundを見やすい色に変更します。私は明るめの青緑を選択しました。
#スクリプトを組んでみよう
プロジェクトウィンドウから右クリックでCreate→C# Scriptを選択して適当な名前に変更します。今回はrouletteという名前にしてみました。
次にこのスクリプトの中身を編集するために、ダブルクリックしてエディターソフトが立ち上が……Visual Studioが入ってませんでした。
今回はダウンロードも面倒くさいので、Edit→Preferenceからエディターソフトをメモ帳に指定して編集していきます。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class roulette: MonoBehaviour
{
float rotSpeed = 0; // 回転速度
void Start()
{
}
void Update()
{
// マウスが押されたら回転速度を設定する
if (Input.GetMouseButtonDown(0))
{
this.rotSpeed = 20;
}
// 回転速度分、ルーレットを回転させる
transform.Rotate(0, 0, this.rotSpeed);
// ルーレットを減速させる
this.rotSpeed *= 0.98f;
}
}
このコードの流れとしては最初回転をしていないrotspeedがマウスを押されたらZ軸回転をフレームごとに20度回転して1フレームごとに速度が0.98倍されて0に限りなく近づく…という感じです。
#アタッチ
作ったスクリプトをヒエラルキーウィンドウのrouletteにドラック&ドロップします。
そしてゲームを実行してみると…
このようにルーレットを制作することができました。
スクリプトをいじればもっと様々な条件の指定が出来ると思いますが
今回はここまで。
#終わりに
今回スクリプトという形でC#を初めて触れましたが、色々文字が変わっただけで今まで触れてきたCやpythonと似たようなコードだったので理解がすんなりと進んで良かったです。