【unity 保卫星城】--- 开发笔记06(散弹 武器)
【unity 保卫星城】--- 开发笔记
- ~~ 战机武器库 ~~
- 2.散弹
· 感觉把好多类,都写再 六 这个主题里,感觉主题会撑爆,所有还是再开个小框架吧。
· 就叫战机武器库吧~
~~ 战机武器库 ~~
2.散弹
由武器管理系统,控制子弹生成:
using UnityEngine;namespace ns
{///<summary>/// 散弹///</summary>public class Shots : Weapons{public Shots(){weaponName = "Shot";attack = 1;bulletCount = 0;rate = 0.2f;}/// <summary>/// 发射的方法/// </summary>public override void Launch(GameObject _airPlane){if (time >= rate){for(int i = 1; i <= 3; i++){float y = _airPlane.transform.position.y;if(i != 1){y = _airPlane.transform.position.y - 0.1f;}float temp = _airPlane.transform.position.x;if(i == 2){temp = _airPlane.transform.position.x - 0.5f;}else if(i == 3){temp = _airPlane.transform.position.x + 0.5f;}for (int j = 1; j <= 3; j++){float x = temp;if (j == 2){x = x - 0.15f;}else if (j == 3){x = x + 0.15f;}if(i == 1)PoolManager.GetInstance().GetObj(weaponName, (obj) =>{obj.transform.position = new Vector3(x, y + 0.37f, 0);obj.gameObject.name = weaponName + "_1";});else if(i == 2)PoolManager.GetInstance().GetObj(weaponName, (obj) =>{obj.transform.position = new Vector3(x, y + 0.37f, 0);obj.gameObject.name = weaponName + "_2";});else if (i == 3)PoolManager.GetInstance().GetObj(weaponName, (obj) =>{obj.transform.position = new Vector3(x, y + 0.37f, 0);obj.gameObject.name = weaponName + "_3";});}}Debug.Log("fire");time = 0;}else{time += Time.deltaTime;}}}}
这是挂载在子弹游戏物体上的脚本,控制子弹移动:
using UnityEngine;namespace ns
{///<summary>///散弹///</summary>public class Shot : MonoBehaviour{public float speed = 2f;void Update(){Flight();PushPool();}private void Flight(){if (this.gameObject.name == "Shot_1")this.transform.Translate(Vector3.up * speed * Time.deltaTime);else if (this.gameObject.name == "Shot_2")this.transform.Translate(new Vector3(-0.2f, 1, 0) * speed * Time.deltaTime);else if (this.gameObject.name == "Shot_3")this.transform.Translate(new Vector3(0.2f, 1, 0) * speed * Time.deltaTime);}private void PushPool(){if (transform.position.y > 5.5f || transform.position.x > 3f || transform.position.x < -3f){PoolManager.GetInstance().PushObj("Shot", this.gameObject);}}}}
【unity 保卫星城】--- 开发笔记06(散弹 武器)相关推荐
- 【unity 保卫星城】--- 开发笔记04(武器管理系统)
[unity 保卫星城]--- 开发笔记 六.完善类图中的类的功能 3.武器管理的类 4.武器抽象类 六.完善类图中的类的功能 3.武器管理的类 using System.Collections; u ...
- 【unity 保卫星城】--- 开发笔记07(追踪导弹武器)
[unity 保卫星城]--- 开发笔记 ~~ 战机武器库 ~~ 3.追踪导弹 ~~ 战机武器库 ~~ 3.追踪导弹 参考大佬的博客:https://blog.csdn.net/sdhexu/arti ...
- 【unity 保卫星城】--- 开发笔记05(普通子弹武器)
[unity 保卫星城]--- 开发笔记 ~~ 战机武器库 ~~ 1.普通的子弹 · 感觉把好多类,都写再 六 这个主题里,感觉主题会撑爆,所有还是再开个小框架吧. · 就叫战机武器库吧~ ~~ 战机 ...
- 【unity 保卫星城】--- 开发笔记01(飞机移动)
[unity 保卫星城]--- 开发笔记 一.在UnityHub中创建2D项目,取名Defend_Star_City 二.导入MangerOfManger框架 三.在打包中,切换安卓开发模式 四.创建 ...
- 【unity 保卫星城】--- 开发笔记08(UI轮盘)
[unity 保卫星城]--- 开发笔记 一.武器轮盘 1.轮盘的旋转 2.选择的武器 3.完成轮盘隐藏和显示 -做完前三个武器,第四个武器准备在前三个武器测试完成没问题后再添加,但再测试前,武器直接 ...
- 【unity 保卫星城】--- 开发笔记03(飞机类第一版)
[unity 保卫星城]--- 开发笔记 六.完善类图中的类的功能 2.飞机的类 六.完善类图中的类的功能 2.飞机的类 先放到这后面再慢慢完善~ using System.Collections; ...
- 【unity 保卫星城】--- 开发笔记08(太空站篇)
[unity 保卫星城]--- 开发笔记 保卫星城-太空站篇 一.太空站的功能 二.功能的实现 说起来保卫星城最重要的星城还没讲,其实星城就是一个太空站,而我们的任务就是保护太空站不被敌人破坏. 保卫 ...
- 【unity 保卫星城】--- 开发笔记02(陀螺仪移动)
[unity 保卫星城]--- 开发笔记 六.完善类图中的类的功能 1.飞机移动模块 第二版(完善了陀螺仪移动) 六.完善类图中的类的功能 1.飞机移动模块 第二版(完善了陀螺仪移动) using S ...
- 【unity 保卫星城】--- 开发笔记(Demo演示篇)
[unity 保卫星城]- 开发笔记 保卫星城 一.游戏介绍 <保卫星城>是一款移动端2D横板射击类游戏,使用Unity3D引擎开,与一般的打飞机需要躲避子弹不同,本游戏需要玩家控制小飞机 ...
最新文章
- 心中无码,自然高清 | 联合去马赛克与超分辨率研究论文Pytorch复现
- kali-linux 完美解决sublime输入 中文
- 无标题窗体的移动及其简单美化
- python自动化测试脚本后端_基于 python 的接口自动化测试
- JDK 14:CMS GC是OBE
- LeetCode 题 - 27. 移除元素 python实现
- iis10.0 php多版本,IIS7 IIS8 中多个版本php共存的方法
- 路由表(FIB)内容的生成(一)
- 函数节流(throttle)与函数去抖(debounce)
- 将当前的Git分支设为主分支
- VC2010 编译 Media Player Classic - Home Cinema (mpc-hc)
- 22个开源的PHP框架
- C++ 数字 4294967295是什么意思
- J2EE MVC模式框架中,表单数据绑定功能不安全实现在Tomcat下造成的DoS及RCE
- 怎么制作升温曲线图_如何在EXcel做体温曲线图
- Panoramic Photography
- 2019年大学生智能车大赛室外光电组+在ROS下搭建仿真模拟环境,编程控制小车完成定位导航仿真
- 使用OpenCV读取摄像头图像并显示
- 计算机访问记录怎么查,电脑上微信有访客记录吗?我们要怎么查看访客?
- A星(AStar)算法的实现