下面的代码是每一单节中对应的代码,会在最后贴完整的代码。
代码的注释是个好东西,看了好些时间视频才把注释写好,也是一种劳动成果。
五、角色移动
1.添加Player脚本(PlayerManager.cs),移动velocity方法,限制position功能,倾斜(rotation)飞机,使用范围Mathf.clamp限制。
2.添加倾斜代码,加入倾斜代码后可以使飞机倾斜躲避子弹,增加游戏趣味和观赏性。
控制旋转的代码如下:
GetComponent().rotation=Quaternion.Euler(0.0f,0.0f,GetComponent().velocity.x * -tilt);
PlayerManager.cs

using UnityEngine;
using System.Collections;[System.Serializable]//序列化,可以展开选项,没有的话看不到
public class Boundary//规定移动范围
{public float xMin;public float xMax;public float zMin;public float zMax;
}
public class PlayerManager : MonoBehaviour {public int speed;      //移动速度public float tilt;     //旋转时的参数,控制旋转幅度public Boundary boundary;void FixedUpdate(){//移动控制代码float moveHorizontal = Input.GetAxis("Horizontal");      //水平方向float moveVertical = Input.GetAxis("Vertical");          //垂直方向Vector3 moveMent = new Vector3(moveHorizontal, 0.0f, moveVertical);GetComponent<Rigidbody>().velocity = moveMent * speed;//位置限制使用Mathf.clamp范围GetComponent<Rigidbody>().position = new Vector3(Mathf.Clamp(GetComponent<Rigidbody>().position.x, boundary.xMin, boundary.xMax), 0.0f, Mathf.Clamp(GetComponent<Rigidbody>().position.z, boundary.zMin, boundary.zMax));//飞行时的飞机旋转由水平方向速度控制旋转幅度GetComponent<Rigidbody>().rotation = Quaternion.Euler(0, 0, GetComponent<Rigidbody>().velocity.x * -tilt);}
}

挂在Player上的脚本参数


六、创建射击
1.创建空命名为bolt(父类一般的都需要重置一下),创建子类Quad命名VXF,X轴(Rotation)旋转90,添加子弹材质贴图(fx_lazer_cyan_dff),去掉子弹的Mesh Collider网格,在父类bolt中添加胶囊网格(Capsule Collider),胶囊的方向选择(Direction:Z-Axis),胶囊的大小适中,添加Rigidbody,添加移动代码(Mover.cs)。
(创建Material,透明选择Particles -> Additive或者Mobile)
Transform.forward *speed Y轴移动

Mover.cs

using UnityEngine;
using System.Collections;public class Mover : MonoBehaviour {public float speed;   //子弹的速度//在游戏唤醒的时候赋予速度,如果在Update中编写,速度方向会随旋转的角度变化,陨星不能正常向下。void Awake(){GetComponent<Rigidbody>().velocity = transform.forward * speed;}}

SpaceShooter打飞机教程笔记(二)相关推荐

  1. SpaceShooter打飞机教程笔记(一)

    这个教程大多网站都有,是一个飞机游戏的入门级和中等级的游戏教程. 学习unity也有段时间了,写写总结. 总结官方的视频和其他网站发布的视频,仅做分享学习作用. 一.工程设置 1.导入资源,了解资源内 ...

  2. SpaceShooter打飞机教程笔记(五)

    十一.游戏控制 1.定义位置生成,取某轴的随机值. 2.生成和不旋转,Quaternion.identity. 十二.行星生成波 1.想让代码暂停,游戏没暂停的情况下,要使用协成的模式,IEnumer ...

  3. SpaceShooter打飞机教程笔记(三)

    七.射击功能 1.创建空命名为Shot Spawn为子弹挂载体,设置位置,获取子弹预制体,挂载体相对位置,实例化.(射出很多的子弹是什么问题,是因为FireRate未进行值设置,会导致发射频率很快,但 ...

  4. SpaceShooter打飞机教程笔记(四)

    九.创建行星和摧毁行星 1.旋转功能,获取物体的角速度旋转angularVelocity,和随机insideUnitSphere让行星旋转. 2.创建空为Asteroid,拖入行星,父类逻辑控制,子类 ...

  5. Scala学习教程笔记二之函数式编程、Object对象、伴生对象、继承、Trait、

    1:Scala之函数式编程学习笔记: 1:Scala函数式编程学习:1.1:Scala定义一个简单的类,包含field以及方法,创建类的对象,并且调用其方法:class User {private v ...

  6. cocos2dx打飞机项目笔记二:BulletLayer类

    BulletLayer.h 内容如下 1 class BulletLayer : public cocos2d::CCLayer 2 { 3 4 public: 5 6 CC_SYNTHESIZE(b ...

  7. 墨尘 - UE4 入门教程笔记 —— 二

    一.C4D - 入门篇 旋转视图:Alt + 鼠标左键 缩放视图:Alt + 鼠标右键 平移视图:Alt + 鼠标中间 移动:E.缩放:T.R:旋转 撤回:Ctrl + Z 复原视图:Ctrl + s ...

  8. 最最最详细的C语言教程笔记零起步(10)进阶必备 同笔者一起学习

    C语言教程笔记 二十二. 输入输出缓存 1. 探究printf的现象 1.1 windows系统上的代码 1.2 linux系统上的代码 1.3 windows系统上的表现 1.4 linux系统上的 ...

  9. 【台大郭彦甫】Matlab入门教程超详细学习笔记二:基本操作与矩阵运算(附PPT链接)

    Matlab入门教程超详细学习笔记二:基本操作与矩阵运算 前言 一.基本操作 1.把matlab当作计算器使用 2.变量 3.控制格式输出 二.矩阵运算 1.矩阵 2.矩阵索引 3.使用:创建向量 4 ...

最新文章

  1. MySQL分区的限制(最多有多少个分区)
  2. HTML <q> 标签的简单介绍
  3. Mysql俩种表级锁
  4. 新手教程:如何改变应用名称
  5. 第一个Sprint冲刺第六天
  6. 在日志中搜索时间间隔
  7. zabbix邮件脚本报警
  8. 在 Win vs2017 下编译 zint
  9. 文件在IDEA中已进行Git的Commit操作,使其从暂存区提交到本地仓库,但是未Push到远程仓库,此时进行Pull操作出现代码冲突
  10. Windows 7丢失用户、密码解决办法-我体验了!
  11. 对DataGridView中的DataGridViewComboBoxColumn有了一点点体会
  12. Python进阶(一)Python中的内置函数、内置方法、私有属性和方法详解
  13. 在Windows下启动java服务
  14. Java中,成员内部类的常见修饰符及应用 成员内部类不是静态的,访问的格式...
  15. C#+ajaxupload实现图片上传
  16. 深度原理与框架-图像超分辨重构-tensorlayer
  17. 使用Appium进行Android自动化测试遇到编译不成功的错误处理
  18. python什么为假_Python返回真假值(True or False)小技巧
  19. 【本科毕业设计】基于单片机的智能家居防火防盗报警系统
  20. 读《富爸爸,穷爸爸》后感(四)

热门文章

  1. 天耀18期 - 02.Java基础-标识符、关键字、数据类型【作业】
  2. elementUI 页面布局
  3. java Double去掉科学计数E
  4. Win10系统(无GPU)环境/Anacoda:Python小白如何从入门到成功运行YoloV3图片+视频demo
  5. 大师如何炼成 罗杰斯“不从众”的成功之道
  6. Linux 下重新挂载分区方法
  7. Edge的新标签页设置
  8. 网友鸿蒙谷歌的Android,华为鸿蒙OS已经确认更名?新名字更加令人惊艳!网友:过目难忘...
  9. 降薪潮、裁员潮,普通IT数据人的30岁没电视剧里那么容易
  10. mysql 复制 1032_mysql slave复制1032错误解决方法