前回の記事はどうでしたか。いよいよプログラミングをしてきます。
前提条件
こんな感じになっていればOKOK。
今回の「スケボーで移動しよう」を作る流れ
- スクリプトを作成
- スクリプトを開く
- スクリプトを記述
- スクリプトを「Sukebo」にアタッチ
- 実行
はじめてのC#かもしれませんが、簡単にできますよ。
スクリプトを作成
●スクリプト作成方法
【Projectウィンドウ】→【Create】→【C#Script】→【名前をSkeboController】→【Enter】
こんな感じでスクリプト作成することができます。(名前はSkeboControllerをペーストして時短したよ。ここの名前をしっかり入力してください。)
名前の理由はSukeboを制御するので、SkeboControllerにしました。
本当に申し訳ありません。本来だったSukeboControllerにするところをSkeboControllerにしてすすめています。名前が少しおかしくてごめんなさい。
りんごを動かすときはAppleControllerやプレイヤーを動かすときはPlayerControllerと名前をつけるのが良いですね。
非常にわかりやすい。
スクリプトを開く
●スクリプトを開く
【Projectウィンドウ】→【SkeboControllerをダブルクリック】
Visual Studioが開く
スクリプトを開くとこんな感じになります。背景の色とかなんでも良いです。Visual StudioがひらいていればOK。
他のエディタが開いてしまう場合は、そのエディタでも構いません。エディタを変える場合はスクリプトを開くときのエディタを「Visual Studio」から「MonoDevelop」に変えるをみてね。
スクリプトを記述
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」にスクリプトをアタッチ
●スクリプトをアタッチする
【Unity(エディタ)に戻る】→【SkeboControllerをSukeboにドラッグ&ドロップ】
アタッチというのは、スクリプトとオブジェクトを紐付けることです。オブジェクト単体でもスクリプト単体でもなにもおこりません。
アタッチできたかの確認
オブジェクトを選択したときに、Inspector上にスクリプトが追加されていればアタッチできています。
実行
Unityの上部にある【ゲーム実行】ボタンを押して見てください。またはゲーム実行ボタンのショートカットである【CTRL + P】を押してください。
ゲームを実行することでスクリプトが実行されます。
実行中
Gameビューが実際にゲームする側の視点なので、Gameビューで左クリックしてみましょう。
Sukeboがx軸方向に動き出すはずです。
おわりに
簡単ですが、2Dのゲームが完成しましたね。
これが初めて作るUnityのゲームだったら、わからないことも多いと思います。ただ作っていくうちに、なんとなくですがわかってきます。
なんとなくの理解をさせるためにこのメディアの運営ガンバリマス。
他のサンプルゲームを作ってみたいという方は画よりわかりやすく記事でゲームを作ろうで他のゲームもつくってみてください。
Unityの操作を方法を復習・学びたい人はゼロから始めるUnity生活を見てね。
C#の基本知識をつけたい人は、ゼロから始めるC#生活を見てね。
ではUnityを使っている限りはまた合うことになるでしょう。以上さぎのみや(@saginomiya8)でした。
コメント