suta-togamennwakarann

This commit is contained in:
ohgushiyuga
2026-07-28 12:22:44 +09:00
parent f0df7736f4
commit 1441c96f74
15 changed files with 1990 additions and 1808 deletions

View File

@@ -0,0 +1,55 @@
using UnityEngine;
using System.Collections;
// アタッチしたSprite Rendererの色を操作してフェードアウトさせるスクリプト
[RequireComponent(typeof(SpriteRenderer))]
public class FadeOutSprite : MonoBehaviour
{
private SpriteRenderer spriteRenderer;
public float fadeDuration = 1.0f; // 消えるまでの時間(秒)
public float startDelay = 0.5f; // 表示してからフェードを開始するまでの待ち時間(秒)
private void Awake()
{
spriteRenderer = GetComponent<SpriteRenderer>();
}
private void OnEnable()
{
// オブジェクトが有効になったときにフェードアニメーションを開始
StartCoroutine(FadeOutCoroutine());
}
private IEnumerator FadeOutCoroutine()
{
// 1. 最初は完全に表示
SetAlpha(1f);
// 2. 指定時間待機(画像がはっきり見える時間)
yield return new WaitForSeconds(startDelay);
// 3. アルファ値を徐々に減らすフェードアウト
float timer = 0f;
Color initialColor = spriteRenderer.color;
while (timer < fadeDuration)
{
timer += Time.deltaTime;
// 経過時間に基づいてアルファ値を計算1 -> 0
float alpha = Mathf.Lerp(1f, 0f, timer / fadeDuration);
SetAlpha(alpha);
yield return null; // 次のフレームまで待機
}
// 4. 完全に消えたら自身を破棄(再利用しない場合)
SetAlpha(0f);
Destroy(gameObject);
}
private void SetAlpha(float alpha)
{
Color current = spriteRenderer.color;
current.a = alpha; // Alpha値を更新
spriteRenderer.color = current;
}
}