
Unityの教科書 Unity 2017完全対応版 2D&3Dスマートフォンゲーム入門講座 (Entertainment&IDEA)
- 作者: 北村愛実
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2017/09/21
- メディア: 単行本
- この商品を含むブログを見る
序文
「Unity5の教科書」学習5日目。
割と底辺度には自信あるけど、別に俺攻撃的じゃないよなぁ。
殴り返さないからって雑なレッテル貼りされて困っちゃう。
GitHub
進捗
- Chapter5 Prefabと当たり判定
(学習時間:2.5時間)
コード実装部分(一部)
\catescape\assets\arrowcontroller.cs
using System.Collections; using System.Collections.Generic; using UnityEngine; public class ArrowController : MonoBehaviour { GameObject player; void Start() { this.player = GameObject.Find("player"); } void Update() { // フレームごとに等速で落下させる transform.Translate(0, -0.1f, 0); // 画面外に出たらオブジェクトを破棄する if (transform.position.y < -5.0f) { Destroy(gameObject); } // 当たり判定 Vector2 p1 = transform.position; Vector2 p2 = this.player.transform.position; Vector2 dir = p1 - p2; float d = dir.magnitude; // 矢の半径 float r1 = 0.5f; // プレイヤーの半径 float r2 = 1.0f; if (d < r1 + r2) { // 衝突した場合は矢を消す Destroy(gameObject); // 監督スクリプトにプレイヤと衝突したことを伝える GameObject director = GameObject.Find("GameDirector"); director.GetComponent<GameDirector>().DecreaseHp(); } } }
- その他実装部分
実行結果
感想
今日の課題は上から落ちてくる矢をひたすら避けるゲーム。
Unityの機能(Physics)を使わずにオブジェクトの距離で衝突判定を実装しているのがおもしろいですね。
各章にわたってUnityの機能だけではなく、ゲーム設計の考え方を習得させようという著者の意図が感じられてよいです。
しかもそこそこ見栄えのするゲームまで作れるという、本当にバランスの良い参考書(入門書)だなーと感心しています。
カロリーメイトください。