48 lines
1.2 KiB
C#
Raw Permalink Normal View History

using System.Collections;
using System.Collections.Generic;
using System.Security.Cryptography;
using UnityEngine;
public class BoomShader : MonoBehaviour
{
//这是控制炸弹爆炸后冲击波产生的脚本,是霄酱写的🤔
public Material boomMaterial;//爆炸shader的材质
private Vector2 boomPos;//爆炸坐标
private bool isBoom = false;//是否爆炸
// Start is called before the first frame update
void Start()
{
boomMaterial.SetFloat("WaveSpread_Value",0);
isBoom = true;
Invoke("setBoom",0.5f);
}
// Update is called once per frame
void Update()
{
if (isBoom)
{
UpdateBoom();
}
}
private void UpdateBoom()
{
boomPos = Camera.main.WorldToViewportPoint(new Vector2(transform.position.x, transform.position.y));
boomMaterial.SetVector("Center",boomPos);
boomMaterial.SetFloat("WaveSpread_Value",boomMaterial.GetFloat("WaveSpread_Value")+0.2f);
}
private void setBoom()
{
isBoom = false;
boomMaterial.SetFloat("WaveSpread_Value",0);
Destroy(gameObject);
}
public void SetboomPos(Vector2 pos)
{
this.boomPos = pos;
}
}