序文
Unityの入門本の学習が終わったので、今日からは公式のUnityチュートリアルに少しずつ挑戦していこうと思います。
やっぱり3Dより2Dに興味があるかなー。
まずは日本語版でも提供されている「2Dシューティング」に挑戦。
やってみたけど、先に進めなくなった!というようなブログを見たような気がするので慎重に…。
ちなみに管理人が普段やるゲームは「天鳳」のみです。
GitHub
進捗
- イントロダクション
- ゲーム制作編
- スプライトとスプライトアニメーションの作成
- プレイヤーの移動
- プレイヤーから弾を撃つ
(学習時間:3時間)
コード実装部分
2d-shooting-game\assets\scripts\player.cs
using System.Collections; using System.Collections.Generic; using UnityEngine; public class Player : MonoBehaviour { // 移動スピード public float speed = 5; // PlayerBulletプレハブ public GameObject bullet; private IEnumerator Start() { while (true) { // たまをプレイヤーと同じ位置/角度で作成 Instantiate(bullet, transform.position, transform.rotation); // 0.05秒待つ yield return new WaitForSeconds(0.05f); } } void Update() { // GetAxisRawはキーボードでの移動のときに使える // ← で x = -1、→ で x = 1、何も押してない時 x = 0 float x = Input.GetAxisRaw("Horizontal"); // ↓ で y = -1、↑ で y = 1、何も押してない時 x = 0 float y = Input.GetAxisRaw("Vertical"); // 単位ベクトル化 Vector2 direction = new Vector2(x, y).normalized; // 移動する向きとスピードを代入する GetComponent<Rigidbody2D>().velocity = direction * speed; } }
- その他実装部分
実行結果
感想
Unity2Dのチュートリアルとしてはおそらくこれが一番入門編だと思うのだけど、プログラミング初心者にとってはなかなか理解が難しいかも。
いきなりInput.GetAxisRaw("Horizontal")とか言われてもねぇ。
実際、私は以前もこのチュートリアルに取り組んだことがあるのだけれど、コルーチンとかさっぱり理解できなかったもの。
ある程度、いろいろなことに手を出していると「よく分からないこと」が増えてきて「まぁ、こういうもんだろうな」って割り切れるようになったりするんだけどね。
ということで、Unityってヤツを使えば簡単にゲームが作れるらしいぞ!ぐらいのノリで挑戦しようとしている人は公式チュートリアルの前に「Unityの教科書」など入門者向け参考書から始めることをおすすめします。

- 作者: 北村愛実
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2017/09/21
- メディア: Kindle版
- この商品を含むブログを見る
カロリーメイトください。
BGM
暗闇 / STU48