unity关于警报灯光与警报声音的参考代码
初学。。总结回顾使用,希望给点建议。
首先,创造所需要灯光,直射光,设置颜色亮度等。
加上脚本:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class alarmlight : MonoBehaviour {public bool alarmOn;
private new Light light;
private static alarmlight instance;
public float animationSpeed = 2;
private float lowintensity = 0;
private float highintensity = 2;public float targetintensity;public static alarmlight Getinstance
{get{if (instance == null){instance = new alarmlight();}return instance;}
}
// Use this for initialization
private void Awake()
{targetintensity = highintensity;
}
private void Start()
{alarmOn = false;instance = this;light = this.GetComponent<Light>();
}
// Update is called once per frame
void Update () {if(alarmOn){light.intensity = Mathf.Lerp(light.intensity, targetintensity, Time.deltaTime * animationSpeed);if (Mathf.Abs(light.intensity - targetintensity) < 0.2){if (targetintensity == highintensity){targetintensity = lowintensity;}else if(targetintensity == lowintensity){targetintensity = highintensity;}}}else{light.intensity = Mathf.Lerp(light.intensity, 0, Time.deltaTime * animationSpeed);}}
}
主要是通过Mathf.Lerp函数实现对light.intensity的调整,使其在0-2中波动,在距离目标小于0.2时,改变目标变化值(0和2)。达到一个目的,使其通过alarmOn来控制灯光闪动。
另加脚本,在游戏流程控制物体上添加。使上面的alarmOn等于本脚本中的alarmOn,
在场景中加入几个警报声音,通过GameObject.FindGameObjectsWithTag(“siren”);进行获取,得到一个数组sirens,
并实现当alarmOn触发时,调用函数遍历每一个audio source使声音播放。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class Gamecontrol : MonoBehaviour {private GameObject[] sirens;
public bool alarmOn;// Use this for initialization
private void Awake()
{sirens = GameObject.FindGameObjectsWithTag("siren");alarmOn = false;
}void Start () {}// Update is called once per frame
void Update () {alarmlight.Getinstance.alarmOn=this.alarmOn;if(alarmOn){SirenOn();}else{SirenOff();}
}private void SirenOn()
{foreach(GameObject go in sirens){if(!go.GetComponent<AudioSource>().isPlaying){go.GetComponent<AudioSource>().Play();}}
}
private void SirenOff()
{foreach (GameObject go in sirens){go.GetComponent<AudioSource>().Stop();}
}
}
unity关于警报灯光与警报声音的参考代码相关推荐
- Unity中的灯光和渲染
一:Unity中的灯光 --Directional Light:模拟太阳光.它与位置无关,是平行光,可以调整旋转角度模拟昼夜 --Spot Light:模拟车灯.手电筒的光.舞台灯光 --Point ...
- 【苹果imessage虚拟机安装】除了警报,徽章,声音,JSON包仍然可用。
本机接口处于Serverdely,一旦创建了提示,将创建有效载荷并将其插入队列中. 因此,我们可以根据需要发送多个有效负载. Apple建议使用此方法,因为如果发送每个有效载荷,APN可能会阻止您的 ...
- Unity 叉乘 vector3 四元数 和声音组件
数学:a(x,y,z) b(I,j,k) a X b = (y*k – z * j,-x*k + z *I,x*j-y*i) 1. Vector3 知识点:插值运算优化摄像机跟随:球形插 ...
- 如何解除计算机上的安全警报,windows安全警报怎么关闭 为什么总是弹出安全警告...
最近两天电脑总是频繁的提示windows安全警报,关要关半天,让小编我觉得很烦躁,不知道大家是否也遇到这样的情况,所以小编特地找来解决方法来分享给大家windows安全警报怎么关闭,这样可以让大家没有 ...
- 如何解除计算机上的安全警报,windows安全警报怎么关闭【详细教程】
Windows安全警报是怎么关闭的?我们在使用电脑的时候,经常会在浏览网页的时候看到,电脑的右下角弹出一个安全警报.这个安全警报是提醒我们我们浏览的网页存在一些病毒或者不应该存在的内容.Windows ...
- 如何解除计算机上的安全警报,Win7安全警报怎么关闭?Win7关闭安全警报的方法...
最近有Win7用户反映,在使用电脑的时候,总是会弹出Windows安全警报,而往往安全警报提示的软件都是安全的,这让用户非常烦恼,想要将安全警报关闭掉,却苦于不会.下面,针对这一问题,小编就来教教大家 ...
- Unity 3D游戏开发 - U3D进阶 | 声音组件之 AudioSource
AudioClip 音频剪辑 AudioClip 音频剪辑(音频片段). 我们导入到 Unity 中的所有声音文件,在Unity 引擎中的资源类型都是 AudioClip 类型. Unity 能使用的 ...
- 【Unity开发小技巧】AudioManager声音管理器
欢迎加入Unity业内qq交流群:956187480 qq扫描二维码加群,行业纵横颇多,每个人精通领域各异,旨在交流, 在项目里做音频管理的时候,我们往往是跟资源管理结合起来的,但是这里我们就单音频管 ...
- Unity效果——场景灯光烘焙流程效果
Unity有强大渲染能力,渲染管线.可编程渲染管线.Shader.灯光.渲染模式.Ligting等.不是专业美术,只能从程序的眼中的效果进行制作场景效果. 最近有项目需要灯光烘焙效果,制作步骤是,模型 ...
- php 消除警报,php suhosin警报
我用suhosin.我收到以下警报. ALERT-SIMULATION-尝试通过GET变量注册禁止变量'_REQUEST'(攻击者 ALERT-SIMULATION-尝试通过GET变量(攻击者)注册禁 ...
最新文章
- linux 查看san链路状态,Linux下查看网络状态的方法
- 【有奖征文】情人节,和书一起走过的日子
- 在Windows上使用终端模拟程序连接操作Linux以及上传下载文件
- 64位传参利用方法LibcSearcher使用入门ROPgadget利用
- linux 有用的命令,linux有用命令(持续更新)
- docker安装mysql后怎么链接_使用docker安装mysql并连接
- 大数据驱动5G网络与服务优化
- 网易云音乐刷听歌量_网易云音乐极速版悄然上线!听歌体验同之前没有差别
- 文件与目录的默认权限与隐藏权限
- java内省_聊聊Java内省Introspector
- 计算机组装与维修blos,计算机组装与维护标准教程 设置bios参数.pptx
- 基于JavaWEB+MySQL的宾馆管理系统设计与实现
- html文字logo
- java多线程及创建线程
- 年包150万的腾讯程序员,深圳房产一千万,同学聚会只能排名第16!
- Vue组件嵌套时生命周期函数触发顺序是什么?
- saltstack常用操作(七)---beacons模块的使用
- python绘制的Svg图打开一片空白
- java反编译是什么_什么是Java代码的编译与反编译?
- 教您用几何画板画相切的圆
热门文章
- debian adsl上网
- Spring的事务控制
- 现身说法 程序员 35 岁后的出路
- CodeForces - 999C Alphabetic Removals
- Git Commit 规范以及emoji 使用指南
- 蓝牙4.0BLE 芯片cc2540和cc2541 128x64 oled显示屏驱动
- 计算机五笔教学软件,指法练习 XP
- java char a z_java中,char A,char a的值各是多少?
- tensorboard侧视_如何调整侧视/后视镜(以及为什么需要3台显示器)
- centos检测不到磁盘_IBM服务器安装CentOS找不到硬盘的解决方法