位置: 编程技术 - 正文

Unity3D【火星大战三】(unity星球模型)

编辑:rootadmin

推荐整理分享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);//背景的移动

Unity3D【火星大战三】(unity星球模型)

}

}

二、为敌机和本机加入特效及声音

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

本文链接地址:https://www.jiuchutong.com/biancheng/383583.html 转载请保留说明!

上一篇:unity3d shader之God Ray上帝之光

下一篇:Unity3D学习笔记——NGUI之UIToggle(unity3d官方教程)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络