1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Unityに関する勉強記事②

Posted at

#はじめに
今回はUnit 2Dでルーレットをつくってみましょう。

#準備
新規作成もしくはNew Projectから、プロジェクトを開きます。
そしてルーレットで使用する素材をプロジェクトウィンドウのアセット欄にドラック&ドロップします。ここでは参考にさせていただいているSBクリエイティブさんの「はじめてでも安心!Unityの教科書2019年度版」のサポートページからダウンロードした素材を使用しています。
無題.png
すると、このような画面の状態になると思います。
次に素材の2つをゲーム画面にドラック&ドロップして、位置を調整してみましょう。
この時大まかな位置をマウスで、細かい座標を右側のインスペクターウィンドウのPositionからxyz座標の数値を入力するのがオススメです。
今回はルーレットを座標(0,0,0)に、針を座標(0,3.2,0)に設定します。

加えてゲーム実行の際の色味を調整すると素材が見やすくなるため、ゲーム画面のカメラをクリック→インスペクターウィンドウのCameraからBackgroundを見やすい色に変更します。私は明るめの青緑を選択しました。
無題.png

#スクリプトを組んでみよう
プロジェクトウィンドウから右クリックでCreate→C# Scriptを選択して適当な名前に変更します。今回はrouletteという名前にしてみました。
次にこのスクリプトの中身を編集するために、ダブルクリックしてエディターソフトが立ち上が……Visual Studioが入ってませんでした。
今回はダウンロードも面倒くさいので、Edit→Preferenceからエディターソフトをメモ帳に指定して編集していきます。

roulette.cs
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にドラック&ドロップします。
そしてゲームを実行してみると…
ezgif.com-crop.gif
このようにルーレットを制作することができました。
スクリプトをいじればもっと様々な条件の指定が出来ると思いますが
今回はここまで。

#終わりに
今回スクリプトという形でC#を初めて触れましたが、色々文字が変わっただけで今まで触れてきたCやpythonと似たようなコードだったので理解がすんなりと進んで良かったです。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?