Part2:Unity学习笔记十七 - Space Shooter(从视频最后一课向Done_Main.unity场景修改的过程)
来源:互联网 发布:mkv格式播放器 mac 编辑:程序博客网 时间:2024/06/08 10:28
添加完的类似DoneMain的源码地址http://pan.baidu.com/s/1hsGuPZe
第六步,我们查查为什么会出这种情况,想了下与场景内碰撞有关的代码只有一处
为了方便我们把EvasiveManeuver脚本上的zMin改大点,比如2,这样敌方飞船会卡在z=2的那条线上来回乱晃,便于碰撞
再把DestroyByContact脚本中的对应行改为,便于设断点,然后在
if (other.tag == "Boundary")
{
return;
}
if (other.tag == "Enemy") { 《-设断点
return;
}
某次出现
出现名字为prop_asteroid_02,tag为Untagged的物体,然后我们在工程中搜索prop_asteroid_02,发现这是预设体下物体,大约是由于碰撞体在子物体上,other.gameObject看来等于子物体了,如下图
修改也很简单,就是把带碰撞体的子物体的tag也改为Enemy,同时把几个Is Trigger也勾上吧
最后来添加子弹
添加个空物体,改名Bolt_Enemy,然后子物体Quad改名VFX,删除本身的mesh collider
然后发现material中没有,自己建立个空material,fx_bolt_cyan_mat,类型改为mobile/Particle/Additive,材质选fx_lazer_cyan_dff
然后在Bolt_Enemy上添加刚体和碰撞体,mover.cs脚本,设定速度,拖入Prefabs文件夹中,在敌方飞船上添加WeaponController脚本
public GameObject shot; //敌方子弹的Prefab
public Transform shotSpawn; //在敌方飞船上子弹出射点的坐标
public float fireRate; //开火频率
public float delay; //第一次开火前的延迟
AudioSource enemyBoltAudio;
// Use this for initialization
void Start () {
enemyBoltAudio = GetComponent<AudioSource> (); //取得开火音源
InvokeRepeating ("Fire", delay,
fireRate); //在delay秒后,每隔fireRate时间执行一次Fire函数
}
void Fire()
{
Instantiate (shot,
shotSpawn.position, shotSpawn.rotation); //初始化一颗子弹,位置在shotSpawn上,速度是在子弹上的Mover脚本定的
enemyBoltAudio.Play (); //播放子弹出射声音片段
}
然后测试下,发现我忘了把子弹tag改为Enemy,那么加上,还有敌方子弹上需要一个DestroyByContact脚本以免打中人,加上和对应参数,然后子弹可以互相对掉了。然后万一发生什么方向反了,范围大小需要调整等问题自己根据情况调整下,这样大体看起来没什么问题了,没时间详细测试,这样应该可以了,如果谁有什么问题可以评论反馈给我,我再调一下。
- Part2:Unity学习笔记十七 - Space Shooter(从视频最后一课向Done_Main.unity场景修改的过程)
- Part2:Unity学习笔记十二 - Space Shooter(从视频最后一课向Done_Main.unity场景修改的过程)
- Part2:Unity学习笔记十三 - Space Shooter(从视频最后一课向Done_Main.unity场景修改的过程)
- Part2:Unity学习笔记十四 - Space Shooter(从视频最后一课向Done_Main.unity场景修改的过程)
- Part2:Unity学习笔记十五 - Space Shooter(从视频最后一课向Done_Main.unity场景修改的过程)
- Part2:Unity学习笔记十六 - Space Shooter(从视频最后一课向Done_Main.unity场景修改的过程)
- Part2:Unity学习笔记十 - Space Shooter
- Part2:Unity学习笔记十一 - Space Shooter
- Unity学习笔记(一)----Space Shooter
- unity space shooter 学习
- unity官方教程Space Shooter 学习笔记
- Unity学习笔记(二)----Space Shooter
- Unity学习笔记(三)----Space Shooter
- Unity学习笔记一 - Survival Shooter Tutorial
- unity官方教程Space shooter学习笔记-01
- unity官方教程Space shooter学习笔记-02
- Unity笔记 SPACE SHOOTER 实例详解
- unity官方教程space shooter 学习文档
- Ubuntu16.04配置Hbase-1.2.1伪/全分布式环境
- inder学习笔记(三)—— binder客户端是如何组织checkService数据的 ?
- 【题】【前缀和】NKOJ 3049 三分数组
- 贪婪算法
- 集合
- Part2:Unity学习笔记十七 - Space Shooter(从视频最后一课向Done_Main.unity场景修改的过程)
- iOS开发里的线程安全机制
- 图像特征提取之(一) --- 主成份分析(PCA)
- Java多线程设计模式之线程池模式
- 蓝桥杯:2的次幂表示
- JavaScript DocumentFragment:更快捷的操作DOM的途径
- zookeeper java.net.ConnectException
- 深入理解Java的接口和抽象类
- iOS @synchronized 详解