コイン落としゲーム その2
夏の繁忙期が山場を越えたので、休みの日に一日寝て終わりという日々から、少しは充実した休日を送れるくらいに体調が戻ってきた。
とはいえ今日もせっかくの休みなのに3時間ほど昼寝してしまった(汗)
ということで、ここ数日少しはゲーム制作を進めることができた。
まずはコインが一番下まで落ちたらエフェクトが出るようにしようと思って、いろいろといじっていたらこうなった・・・
今日の進捗【まぶしいので注意!】
— 𝑲𝒂𝒛𝒉𝒂𝒔𝒆 (@kazhase_kazhase) August 23, 2021
コインが一番下まで落ちたらエフェクトが出るようにしようとしたら、コインを落とした直後に出て、なぜかどんどん画面が明るくなってしまった汗#Unity pic.twitter.com/EiDbyelmMS
エフェクトはアセットストアから拝借
assetstore.unity.com
その後、いろいろやっていたらとりあえず狙った感じにはできた。
今日の進捗①
— 𝑲𝒂𝒛𝒉𝒂𝒔𝒆 (@kazhase_kazhase) August 25, 2021
🪙が一番下に落ちたタイミングで⚡️が発動。その後パーティクルを削除して画面が際限なく明るくなるのを解消
後ろの✨を別のに変更
地味に前進できて☺️#Unity #indiedev #ゲーム制作 #gamedev pic.twitter.com/0jebj2qMcH
コインにつけたスクリプトはこんな感じ
using System.Collections; using System.Collections.Generic; using UnityEngine; public class CoinDeletScript : MonoBehaviour { public GameObject particleObject; public float deleteCoinTime; // Start is called before the first frame update void Start() { } private void OnCollisionEnter(Collision collision) { if (collision.gameObject.tag == "Saucer") //Saucerタグの付いたゲームオブジェクトと衝突したか判別 { Instantiate(particleObject, this.transform.position, Quaternion.identity); //パーティクル用ゲームオブジェクト生成 Destroy(this.gameObject, deleteCoinTime); //コインを削除 } } }
public GameObject particleObject;にプレファブ化したパーティクルを、インスペクター上に入れ込むと、そのパーティクルがコインが一番下まで落ちると発動する仕組み。
さらにそのパーティクルがいつまでも残ると、画面が果てしなく明るくなってしまうので、指定した時間になるとパーティクルが消滅するスクリプトをパーティクルに付けた。
using System.Collections; using System.Collections.Generic; using UnityEngine; public class SelfDestroy : MonoBehaviour { ParticleSystem particle; void Start() { particle = this.GetComponent<ParticleSystem>(); } void Update() { if (particle.isStopped) //パーティクルが終了したか判別 { Destroy(this.gameObject);//パーティクル用ゲームオブジェクトを削除 } } }
このままだと単なるコイン落としで、ゲーム性が激弱いので、
新しい要素を足していこうかと思う。