位置: 编程技术 - 正文
推荐整理分享unity项目之一飞机自由分行和发射子弹(unity flybird),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:unity flybird,unity飞船,unity飞机飞行代码,unity 击飞,unity 飞行,unity flybird,unity22飞行器,unity22飞行器,内容如对您有帮助,希望把文章链接给更多的朋友!
unity飞机大战之一,场景的基本搭建,和飞机的自由飞行与与发射子弹;
1.场景搭建
先把资源包导入进来,然后在设计栏里面,建立几个文件夹,分别有Resources资源文 件夹,里面又有4个子文件夹,分别是Audios(声音),Materials(材质),Models(预设体),Texture(材质),另外还有三个大文件夹分别是Scripts(脚本)文件夹,Scenes(场景)文件夹,Audios(声音)文件夹。然后在工程栏里面建立飞机,敌机,地板,太阳光,摄像机,敌人子弹,我方子弹几个控件,这样一个基本地形就算完成。
2.脚本的建立
从设计栏里面Assets右键找子菜单里面,create里面的C#script单击,然后在另一个平台上编写代码,把脚本名也要跟代码里面的类名也要一致,例如建立一个players脚本,里面的类名也一定要是players,这样把代码托给摄像机或者其他控件,就能把脚本托给一个控件,可以让飞机自由飞行。
代码如下:
Float firetime=0.0f; //开始发射速度;
Float nexttime=0.0f;//结束发射速度;
public GameObject bullet;//定一个游戏对象子弹;
public float speed = 4f;//定义子弹的速度;
void Update ()
{
transform.Translate(new Vector3(-Input.GetAxis("Horizontal") * Time.deltaTime * speed, 0, -Input.GetAxis("Vertical") * Time.deltaTime * speed));//定义飞机分行的速度。
if (Input.GetButton("Fire1") || Input.GetKey(KeyCode.Space) && Time.time > nexttime)/判断点击鼠标左键发射效果。
{
nexttime = firetime Time.time;开始发射的时间加上,下个子弹发射时间的和等于下个发射时间。
GameObject i= Instantiate(bullet, transform.position, Quaternion.identity) as GameObject ;//定义子弹的位置,把子弹的位置传给游戏对象。
i.rigidbody.AddForce(0, 0, );//定义刚体,给刚体一个力
//Destroy(i, 2f); //2秒后消失
}
}
void OnTriggerEnter(Collider a)
{
if (a.tag == "EnemyRocket" || a.tag == "Enemy")
{
lifeTime--;
GameManage.instance.lifeTime = lifeTime;
if (lifeTime == 0)
{
Destroy(this.gameObject);
GameObject go = GameObject.Instantiate(explosion, transform.position, Quaternion.identity) as GameObject;
}
}
}
}
更多精彩:
Unity自动打包工具 原文链接:
Unity 3D中的射线(上) 在我们的游戏开发过程中,有一个很重要的工作就是进行碰撞检测。例如在射击游戏中子弹是否击中敌人,在RPG游戏中是否捡到装备等等。在进行碰撞
Unity3D网络游戏开发之<每天学一点><一> 任何一款unity网络游戏开发,必须要实现的功能:1.资源打包(Assetbundle)(不放进项目代码里面,本地使用)由于目前Assetbundle已被disunity破解,正式运营的话
标签: unity flybird
本文链接地址:https://www.jiuchutong.com/biancheng/375778.html 转载请保留说明!下一篇:Unity自动打包工具(unity打包package)
友情链接: 武汉网站建设