【Unity2Dサンプルゲーム】スケボーで移動しよう~スクリプト編~【チュートリアル】

前回の記事はどうでしたか。いよいよプログラミングをしてきます。

目次

前提条件

サンプルゲームの途中の完成例こんな感じになっていればOKOK。

今回の「スケボーで移動しよう」を作る流れ

  • スクリプトを作成
  • スクリプトを開く
  • スクリプトを記述
  • スクリプトを「Sukebo」にアタッチ
  • 実行

はじめてのC#かもしれませんが、簡単にできますよ。

スクリプトを作成

C#スクリプト作成する

●スクリプト作成方法

【Projectウィンドウ】→【Create】→【C#Script】→【名前をSkeboController】→【Enter】

こんな感じでスクリプト作成することができます。(名前はSkeboControllerをペーストして時短したよ。ここの名前をしっかり入力してください。)

名前の理由はSukeboを制御するので、SkeboControllerにしました。

本当に申し訳ありません。本来だったSukeboControllerにするところをSkeboControllerにしてすすめています。名前が少しおかしくてごめんなさい。

りんごを動かすときはAppleControllerやプレイヤーを動かすときはPlayerControllerと名前をつけるのが良いですね。

非常にわかりやすい。

スクリプトを開く

Unityでスクリプトを開く

●スクリプトを開く

【Projectウィンドウ】→【SkeboControllerをダブルクリック】

Visual Studioが開く

Visual Studioを開く

スクリプトを開くとこんな感じになります。背景の色とかなんでも良いです。Visual StudioがひらいていればOK。

他のエディタが開いてしまう場合は、そのエディタでも構いません。エディタを変える場合はスクリプトを開くときのエディタを「Visual Studio」から「MonoDevelop」に変えるをみてね。

スクリプトを記述

SkeboController.cs

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class SkeboController : MonoBehaviour
{

    float speed = 0;  // 変数宣言

    // Use this for initialization
void Start()
{

    }

    // Update is called once per frame
void Update()
{
        // マウスの左ボタンを推したらスピード向上
        if (Input.GetMouseButtonDown(0))
        {
            this.speed = 0.1f;
        }

        // オブジェクトをx軸に移動
        transform.Translate(this.speed, 0, 0);

        // 減速
        this.speed *= 0.98f;
}
}

Input.GetMouseButtonDown(0){A} 左クリックした瞬間にAの処理を行う
transform.Translate(B, 0, 0); アタッチされているゲームオブジェクトを取得してBの値だけX軸方向に移動する

コピペしないで書いてみてください。

スクリプトの説明

        // マウスの左ボタンを推したらスピード向上
        if (Input.GetMouseButtonDown(0))
        {
            this.speed = 0.1f;
        }

ここで【Input.GetMouseButtonDown】を使っていますね。左クリックをすると、speed変数の値が0.1になるように設定されています。

        // オブジェクトをx軸に移動
        transform.Translate(this.speed, 0, 0);

X軸にspeed変数の値だけ動くように支持しています。

        // 減速
        this.speed *= 0.98f;

一生移動し続けてもしょうがないので、減速させています。

もしわからなくても大丈夫

たしかにじっくり考えることが必要ですが、Unityの使い方もプログラミングについてもやっていくうちになんとなくわかっていきます。

あんまり思いつめずにやっていきましょう。

「Sukebo」にスクリプトをアタッチ

「Skebo」にスクリプトをアタッチ

●スクリプトをアタッチする

【Unity(エディタ)に戻る】→【SkeboControllerをSukeboにドラッグ&ドロップ】

アタッチというのは、スクリプトとオブジェクトを紐付けることです。オブジェクト単体でもスクリプト単体でもなにもおこりません。

アタッチできたかの確認

アタッチできたかの確認

オブジェクトを選択したときに、Inspector上にスクリプトが追加されていればアタッチできています。

実行

ゲーム実行、停止、ステップ

Unityの上部にある【ゲーム実行】ボタンを押して見てください。またはゲーム実行ボタンのショートカットである【CTRL + P】を押してください。

ゲームを実行することでスクリプトが実行されます。

実行中

サンプルゲームを実行する

Gameビューが実際にゲームする側の視点なので、Gameビューで左クリックしてみましょう。

Sukeboがx軸方向に動き出すはずです。

おわりに

簡単ですが、2Dのゲームが完成しましたね。

これが初めて作るUnityのゲームだったら、わからないことも多いと思います。ただ作っていくうちに、なんとなくですがわかってきます。

なんとなくの理解をさせるためにこのメディアの運営ガンバリマス。

他のサンプルゲームを作ってみたいという方は画よりわかりやすく記事でゲームを作ろうで他のゲームもつくってみてください。

あわせて読みたい
【Unity2D&3Dサンプルゲーム】動画よりわかりやすく記事でゲームを作ろう【チュートリアル】 ▼この記事を先に見ておきましょう▼ https://miyagame.net/basis-cs/ 当サイトではUnityでのサンプルゲームを作成することができます。Unityでゲームを作っていきましょ...

Unityの操作を方法を復習・学びたい人はゼロから始めるUnity生活を見てね。

あわせて読みたい
ゼロから始めるUnity生活【基本知識・入門】Unityを使い方を学習するならここ ▼この記事を先に見ておきましょう▼ https://miyagame.net/0-game-unity/ Unityに関する基本知識を学びましょう。基本知識というのはUnityってなに?というところまで始...

C#の基本知識をつけたい人は、ゼロから始めるC#生活を見てね。

あわせて読みたい
【Unity】ゼロから始めるC#生活【基本知識・入門】C#を学習するならここ ▼この記事を先に見ておきましょう▼ https://miyagame.net/basis-unity/ この記事はUnityで使うC#の必要な知識をつけることを目的としてます。C#単体の勉強ではないです...

ではUnityを使っている限りはまた合うことになるでしょう。以上さぎのみや(@saginomiya8)でした。

Unity2Dサンプルゲームのスケボーで移動しよう

この記事が気に入ったら
いいね または フォローしてね!

よかったらシェアしてね!

コメント

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次