位置: 编程技术 - 正文
推荐整理分享Unity3D【火星大战三】(unity星球模型),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:unity星星,unity火焰粒子指定发射方向,火星unity3d课程,unity火球特效,火星unity3d课程,unity火堆,unity做火焰,火星unity3d课程,内容如对您有帮助,希望把文章链接给更多的朋友!
一、背景的移动
1、为背景写脚本Sky,然后将脚本附给背景对象,就可以了。
背景脚本代码:
public class Sky : MonoBehaviour {
float speed = 2f;
void Update () {
//如果背景的z坐标移出火星的范围,则从新定位
if (transform.position.z > .f) {
//背景的坐标,x,y轴不变,z轴随机
transform.position = new Vector3(-0.f, 0.F, Random.Range(-, ));
}
transform.Translate(Vector3.forward*Time.deltaTime*speed);//背景的移动
}
}
二、为敌机和本机加入特效及声音
1、在本机脚本代码中创建一个特效,在场景中把特效拉进来。如图:
2、在特效对象中增加声音,再将声音附给本机,就可实现效果。如图:
三、随机产生圆盘和敌机
代码为:
public class RandomSp : MonoBehaviour { public GameObject[] enemy2;//圆盘 public GameObject[] enemy1;//敌机 void Start() { EnemyRandomSp();//随机产生三个圆盘 StartCoroutine(Enemy1());//停3秒后随机产生三个敌机 } void EnemyRandomSp() { for (; ; ) { int index = Random.Range(0, enemy2.Length);//随机产生圆盘 float posX = Random.Range(-7f, 6f);//x轴随机产生 int index2 = Random.Range(0, enemy2.Length); float posX2 = Random.Range(-7f, 6f); int index3 = Random.Range(0, enemy2.Length); float posX3 = Random.Range(-7f, 6f); if (Mathf.Abs(posX - posX2) > 3f && Mathf.Abs(posX - posX3) > 3f && Mathf.Abs(posX3 - posX2) > 3f) {//位置不重叠 Instantiate(enemy2[index], new Vector3(posX, 1.2f, -8f), Quaternion.identity);//克隆一个圆盘 Instantiate(enemy2[index], new Vector3(posX2, 1.2f, -8f), Quaternion.identity); Instantiate(enemy2[index], new Vector3(posX3, 1.2f, -8f), Quaternion.identity); break; } } } IEnumerator Enemy1() { yield return new WaitForSeconds(3f);//停3秒 for (; ; ) { int index = Random.Range(0, enemy1.Length);//随机产生敌机 float posX = Random.Range(-7f, 6f);//x轴随机产生 int index2 = Random.Range(0, enemy1.Length); float posX2 = Random.Range(-7f, 6f); int index3 = Random.Range(0, enemy1.Length); float posX3 = Random.Range(-7f, 6f); if (Mathf.Abs(posX - posX2) > 3f && Mathf.Abs(posX - posX3) > 3f && Mathf.Abs(posX3 - posX2) > 3f) {//位置不重叠 Instantiate(enemy1[index], new Vector3(posX, 1.2f, -8f), Quaternion.identity);//克隆出一个敌机 Instantiate(enemy1[index], new Vector3(posX2, 1.2f, -8f), Quaternion.identity); Instantiate(enemy1[index], new Vector3(posX3, 1.2f, -8f), Quaternion.identity); break; } } }更多精彩请点击
Unity3D学习笔记——NGUI之UIToggle UIToggle:切换,从名字就能知道这个组件能做什么。这个组件有两种状态ON/OFF.可以用于创建checkboxes,tabs,radiobuttongroups。该文章出自【狗刨学习网】效果
Unity3D【火星大战四】 利用协程使敌机和圆盘重复出现usingUnityEngine;usingSystem.Collections;publicclassRandomSp:MonoBehaviour{publicGameObject[]enemy2;//圆盘publicGameObject[]enemy1;//敌机publicGameObjectp
Unity3d Shader开发(一)Properties 着色器可以定义一个参数列表,可以由开发者在材质检视面板编辑参数。着色器文件中的Properties块定义了这些参数:该文章出自【狗刨学习网】语法:P
标签: unity星球模型
本文链接地址:https://www.jiuchutong.com/biancheng/383583.html 转载请保留说明!友情链接: 武汉网站建设