▼そのUnityの作業、依頼しませんか?
サンプルゲーム・サンプルプロジェクト・ゲームの作り方・チュートリアル

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

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のゲームだったら、わからないことも多いと思います。ただ作っていくうちに、なんとなくですがわかってきます。

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

 

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

Unityサンプルゲーム
【Unity2D&3Dサンプルゲーム】動画よりわかりやすく記事でゲームを作ろう【チュートリアル】【Unity2D&3Dサンプルゲーム・チュートリアル】Unityにおいてのサンプルゲームの作り方が書いてある記事って少ないですよね。そこで当サイトUnishar(ユニシャー)が動画よりわかりやすいサンプルゲームを無料で提供します。...

 

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

Unity基本知識
ゼロから始めるUnity生活【基本知識・入門】Unityを使い方を学習するならここ【Unity】もしあなたがUnityに少しでも興味をもったらこの記事を読むべきです。Unityでゲームを作るときの基本知識を体系的かつ、わかりやすく学べる講座を作りました。...

 

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

ゼロから始めるC#生活
【Unity】ゼロから始めるC#生活【基本知識・入門】C#を学習するならここ【Unity】もしあなたがUnityに少しでも興味をもったらこの記事を読むべきです。Unityでゲームを作るときに必要なC#の基本知識を体系的かつ、わかりやすく学べる講座を作りました。...

 

ではUnityを使っている限りはまた合うことになるでしょう。以上さぎのみや(@saginomiya8)でした。SNSでシェアしてね( ・∇・) 明日からも一生無双でやったりましょう

ABOUT ME
さぎのみや
さぎのみや
超書手。現在はUnityメディア「ユニシャー」の運営とゲーム開発がメインです。Unity、ライティング関係のお仕事お待ちしております。 >>詳しいプロフィール >>Amazonほしいものリスト
【Unity3D】新しいサンプルゲーム(チュートリアル)を作りました!!!
Unity有料サンプルゲーム

「Unityで3Dゲームを本格的に作っていきたい!」という人におすすめのチュートリアルとなっています。

画像のようなゲームの作り方を販売しています。色々と応用できるサンプルゲームとなっています。ぜひ、作ってみてください。

詳細
>>【Unity3Dサンプルゲーム】うちのポチが危ないところでフリスビーを要求する理由を教えてくれ

>>BOOTHでサンプルゲームを見る

【シェア・フォローであなたのスキルが上がる】

シェアフォローする

さぎのみやのモチベが上がる

コンテンツの質が上がる

あなたの能力も上がる

あなたの
Twitterでのシェア

pixivFANBOXのフォローであなたの能力が上がります。

>>さぎのみやのツイッター(@saginomiya8)
>>さぎのみやのpixivFANBOX

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


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