Unity学习笔记五 - Survival Shooter Tutorial
来源:互联网 发布:大数据智能分析平台 编辑:程序博客网 时间:2024/05/16 19:46
今天简单注释下PlayerShooting脚本
void Update ()
{
timer += Time.deltaTime; //结合下一句和Shoot函数中第一句,每帧+一定时间,超过一定时间间隔才可能执行Shoot
if(Input.GetButton ("Fire1") && timer >= timeBetweenBullets && Time.timeScale != 0) //Fire1按下,默认左键同时每隔一定时间才能进入一次Shoot
{
Shoot ();
}
if(timer >= timeBetweenBullets * effectsDisplayTime) //超过时间没有开火,取消开火效果,没判断支持,超过时间会执行很多次
{
DisableEffects ();
}
}
public void DisableEffects ()
{
gunLine.enabled = false; //跟据前面,使Player中LineRenderder组件停止作用
gunLight.enabled = false;//跟据前面,使Player中Light组件停止作用,合起来就是停止开枪的效果
}
void Shoot ()
{
timer = 0f; //重置timer
gunAudio.Play (); //Player中AudioSource中的声音源
gunLight.enabled = true; //跟据前面,使Player中Light组件作用,枪发光
gunParticles.Stop ();
gunParticles.Play (); //枪的上次粒子效果停止和本次启动,和Player上ParticleSystem组件相关
gunLine.enabled = true; //跟据前面,使Player中LineRenderder组件作用,枪有射线
gunLine.SetPosition (0, transform.position); //设置gunLine的一端
shootRay.origin = transform.position; //设定光束Ray的起始点
shootRay.direction = transform.forward;//设定光束Ray的方向,player正向
if(Physics.Raycast (shootRay, out shootHit, range, shootableMask)) //计算shootRay和shootable层(shootableMask掩码下)的交点,在range限定的长度内,返回第一个交点给shootHit
{
EnemyHealth enemyHealth = shootHit.collider.GetComponent <EnemyHealth> (); //令shootHit的碰撞体也就是第一击中的物体上脚本组件EnemyHealth赋值给enemyHealth
if(enemyHealth != null) //成功取得正确击中物体的脚本的话
{
enemyHealth.TakeDamage (damagePerShot, shootHit.point); //执行EnemyHealth脚本中对应函数
}
gunLine.SetPosition (1, shootHit.point); //设定gunLine的另一点为Ray第一命中的点,两点之间的线
}
else
{
gunLine.SetPosition (1, shootRay.origin + shootRay.direction * range); //否则设置gunLine另一端在shootRay方向上距离起始点Range长度的位置上,就是shootRay 100长度的LineRenderer表现
}
}
- Unity学习笔记五 - Survival Shooter Tutorial
- Unity学习笔记一 - Survival Shooter Tutorial
- Unity学习笔记二 - Survival Shooter Tutorial
- Unity学习笔记三 - Survival Shooter Tutorial
- Unity学习笔记四 - Survival Shooter Tutorial
- Unity学习笔记六 - Survival Shooter Tutorial
- Unity学习笔记七 - Survival Shooter Tutorial
- Unity学习笔记八 - Survival Shooter Tutorial
- Unity学习笔记九 - Survival Shooter Tutorial
- Unity学习笔记(五)----Survival Shooter
- Unity学习笔记(四)----Survival Shooter
- 学习Unity官方教程-Survival Shooter tutorialの声明
- Unity实例.003官方示例Survival Shooter Tutorial核心代码学习
- unity官方demo学习:Survival Shooter
- unity survival shooter ZSpace
- [初学Untiy]Survival Shooter Tutorial
- Unity2017官方案例Survival Shooter tutorial 浅析学习
- SURVIVAL SHOOTER TUTORIAL之Environment setup [1]
- 数据结构1
- css的继承
- Java并发编程 ExecutorService Future FutureTask Callbale的使用
- ossec开源ids
- javascript入门(一)
- Unity学习笔记五 - Survival Shooter Tutorial
- Handler 引起的内存泄露
- javascript 学习(二) BOM & DOM
- MBI5024驱动程序
- SDUT 2163 Identifiers 山东省第二届ACM大学生程序设计竞赛
- ECMAScript运算符_一元运算符&位运算符&逻辑运算符&乘性运算符&加性运算符
- 如何选择 compileSdkVersion, minSdkVersion 和 targetSdkVersion
- SDUT 2164 Binomial Coeffcients 山东省第二届ACM大学生程序设计竞赛
- Spring AOP 实现机制