幸せの形は鳥それぞれ。
前回までのあらすじ
第1回 toriさんのアニメーションを作成。
第2回 toriさんに重力を付与。羽ばたく力を付与
第3回 背景の設定。雲画像のスクロール。
■第4回 量産オブジェクト製造機を作る
これが今回の目標です。
最終的にはそのオブジェクトは得点加算に使う予定ですが、絶対長いので、
今回は量産システムを作るところまで実装します。
プログラミング初心者なのでだんだん不安になってきたところでございます。
それでは詳しく見ていきましょう。
今回量産するハートオブジェクトです。
即席ハートです。透過済みpng
良かったらどうぞ。
①ハートを取り込んで、アニメーションを作成する。
アニメーション作成のここの過程は第1回の鳥の画像がハートになっただけなので、忘れた場合は第1回を参照。
②ハートオブジェクトが左方向に移動させる。
さっそく移動させるスクリプトを書いていく。
私はHappyMoveとしました。
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- public class HappyMove : MonoBehaviour
- {
- float fallSpeed;
- // Start is called before the first frame update
- void Start()
- {
- this.fallSpeed = 0.01f + 0.1f * Random.value;
- }
- // Update is called once per frame
- void Update()
- {
- transform.Translate(-fallSpeed, 0, 0, Space.World);
- if(transform.position.x < -10)
- {
- Destroy(gameObject);
- }
- }
- }
スクリプトができたら、ヒエラルキー内のハートオブジェクト(happy)にアタッチします。このスクリプトが付与されたオブジェクトは、ランダムなスピードでオブジェクトはx座標を変更します。
このあと量産しますので、オブジェクトが消化されず溜まってしまうと、処理がおもたくなってしまったりするようなので、X座標が-10の位置に達した時にそのオブジェクトは破壊されるという処理まで行っています。
③Prefab化する。
作業としては、ヒエラルキー内のhappyオブジェクトをドラッグ&ドロップでプロジェクトフォルダーの場所まで移動するだけです。
Prefab化できたら、ヒエラルキーからhppyオブジェクトは削除しておきます。
④Hppy量産機を作る。
名前をHappyGeneratorとしました。
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- public class HappyGenerator : MonoBehaviour
- {
- public GameObject happyPrefab;
- // Start is called before the first frame update
- void Start()
- {
- InvokeRepeating("happy", 0.05f, 0.20f);
- }
- // Update is called once per frame
- void Update()
- {
- }
- void happy()
- {
- Instantiate(happyPrefab, new Vector3(10, -6.5f + 10.5f * Random.value, 0), Quaternion.identity);
- }
- }
スクリプトができたら空のこのスクリプトをアタッチするオブジェクトを作成します。
ヒエラルキーの、+をクリック→空のオブジェクトを作成
オブジェクトができたら量産システムと分かるような名前を付けておきます。
私はhappyGeneratorにしました。
出来たオブジェクトに上記のスクリプトをドラッグ&ドロップでアタッチします。
①スクリプトをアタッチしたオブジェクトを選択。
インスペクター内にPrefab化したオブジェクトをドラッグ&ドロップでいれる。
ここまでできたら一度、再生してみます。
ハートがランダムな速度で、たくさんとんできたら成功です。