カロリーメイトください

Barbaroi Ware(バルバロイ・ウェア)という名前でアプリ開発してます

『Unity チュートリアル』「2Dシューティング」 学習記録3

unity3d.com

序文

Unityチュートリアル「2Dシューティング」3日目。

母親が電話をかけてきたとおもったら、ウイルスをダウンロードする直前でした。
チックショー!!!

じゃなくて、やっぱりあの年代の方って、DLしようとしてるファイルが公式のものなのか、アヤシイものなのかの判断ってできないんですねぇ。
困ったもんです。(そんなに助ける気はない)

GitHub

github.com

進捗

  • ゲーム制作編
    • 背景を作る
    • Wave型の仕組み作り
    • 音をつける
    • プレイヤーの移動制限と様々な修正

(学習時間:3時間)

コード実装部分

\2d-shooting-game\assets\scripts\background.cs

using UnityEngine;

public class Background : MonoBehaviour
{
  // スクロールするスピード
  public float speed = 0.1f;

  void Update()
  {
    // 時間によってYの値が0から1に変化していく。1になったら0に戻り、繰り返す。
    float y = Mathf.Repeat(Time.time * speed, 1);

    // Yの値がずれていくオフセットを作成
    Vector2 offset = new Vector2(0, y);

    // マテリアルにオフセットを設定する
    GetComponent<Renderer>().sharedMaterial.SetTextureOffset("_MainTex", offset);
  }
}
  • その他実装部分

github.com

実行結果

www.youtube.com 音小っちゃ

感想

今日の内容は背景のスクロール(3枚の背景が重なっていて、それぞれ移動スピードを変えることで遠近感を出している)、敵の出現方法をグループ化する方法、サウンドの実装、画面内の移動制限など。

コメントを丁寧に書いてくれてるから、なんとなく分かった気になっちゃうけど、Quadというのがなんのことなのか、どういう時に使うものなのかあんまり理解できてない。
普通にスプライトを使うとoffsetを使ったスクロールの表現ができないらしいが、もうちょっと詳しく説明してほしかったところ。

カロリーメイトください。

BGM

POSITIVE feat. Dream Ami / tofubeats

www.youtube.com