
1.创建可交互电报机这个逻辑物体 *.在所有脚本首行添加说明方便查看 2.编写假电报机类,因为这个电报机没有电报机功能,而是一个类似事件的物体。 3.使假电报机可以分清场景中电话线断裂和修复的情况,并对其做出不同反应。 4.没修完电报机的反馈等待策划,修完了的等待我明天编写场景的多态系统 5.均通过了程序简单测试,请各位尽快拉取寻找问题 下班,别摸了,兄弟们
48 lines
1.2 KiB
C#
48 lines
1.2 KiB
C#
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;
|
|
}
|
|
}
|