連打レース:スクラッチ版&UNITY版

連打レースゲームはスクラッチとUNITYで作っていきます。スクラッチ版で基本的なしくみを理解したら、UNITYで3Dゲームにしてみましょう。
スクラッチ版「連打レース」

スクラッチ版連打レースゲームを作ろう!!


まずキャラクター1のプログラミングをしましょう!
キャラクター2は「a」と「s」で動くようにしよう!
勝ったキャラクターを表示する、勝ちスプライトをつくろう!
「ネコが勝ち」スプライトに↓のプログラムをかこう!
「人が勝ち」スプライトに↓のプログラムをかこう!
次にゴールのテープ(スプライト)をつくろう!!
UNITY版「連打レース」

1.まず簡単な自分の町とレース用の道をつくろう!

2.車などの競争するプレイヤーをおこう

下のプログラムを書きます。
3.車を動かすためのプログラムをかこう
新しいスクリプトファイルを作成します

重要:ファイル名をすぐにつけます。

下のプログラムを書きます。
using System.Collections; | |
using System.Collections.Generic; | |
using UnityEngine; | |
public class BlueCar : MonoBehaviour { | |
// アタッチされたゲームオブジェクトがゲームに現れた時に呼ばれます | |
void Start () { | |
} | |
// フレームごとに毎回呼ばれます | |
void Update() | |
{ | |
// もし、Lボタンを押されたとき | |
if (Input.GetKeyDown(KeyCode.L)) | |
{ | |
// アタッチされたゲームオブジェクトの現在の位置を変数POSに入れます | |
Vector3 pos = this.gameObject.transform.position; | |
// アタッチされたゲームオブジェクトの位置を0.5動かします。 | |
this.gameObject.transform.position = new Vector3(pos.x + 0.5f, pos.y, pos.z); | |
} | |
} | |
} |
4.二人でやるゲームなのでもう一つの車も同じようにボタンで進むようにしよう。
5.ゴール(オブジェクト)を作ろう
このゴールオブジェクトにあたったプレイヤーの名前を表示する

まずはじめにCubeで作り↑のように形を変えます

色を透明にする
オブジェクトに色をつけるにはマテリアルが必要です。

マテリアルの設定を下のようにすると透明になる

6.勝ったプレイヤー名を表示するTEXTオブジェクトをつくろう

TEXTオブジェクトの名前をWinnerに変えます。

テキスト文の中を全部けします。

7.ゴール(オブジェクト)に入れるプログラムをつくろう

「GameController」と名前をつけます。

次に作ったスクリプトファイルをGoleCube(ゴール)にアタッチします。
以下のようにプログラムを書きましょう。
using System.Collections; | |
using System.Collections.Generic; | |
using UnityEngine; | |
using UnityEngine.UI; | |
public class GameController : MonoBehaviour { | |
// テキスト表示エリアのゲームオブジェクト | |
public Text Winner; | |
// キャラクターがゴールゲームオブジェクトに触れたときに呼ばれます | |
private void OnTriggerEnter(Collider other) | |
{ | |
Debug.Log("HitTrigger"); | |
// テキストエリアに勝ったプレイヤー名を表示する | |
Winner.text = other.name; | |
} | |
} |
8.勝者の名前を表示するTEXTオブジェクトをつくる

つくたTEXTオブジェクトの名前を「Winner」にする

GoleCubeにアタッチしたGameControllerスクリプトのWinner変数にTextオブジェクト(Winner)をアタッチする。

これで完成だ。思い通りに動くかテストしてみよう!!