位置: 编程技术 - 正文

子弹追踪和协程应用(子弹追踪原理)

编辑:rootadmin

推荐整理分享子弹追踪和协程应用(子弹追踪原理),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:子弹追踪模块,子弹追踪挂软件,子弹追踪什么意思,子弹追踪什么意思,子弹追踪思路,子弹追踪和协程追击区别,ce子弹追踪,ce子弹追踪,内容如对您有帮助,希望把文章链接给更多的朋友!

unity学习,希望我的博客能给喜欢unity的朋友带来帮助

今天我们就这几天根据飞机大战个人重做的小项目进行了面试,面试中我遇到了好多技术上的问题和理解上的问题,在这总结一下,以便以后的参考。

场景如图:

1、项目包含的模块:

登陆模块、我方模块、敌方模块、游戏地形模块、子弹模块

2、各个模块的功能和功能所用的技术(功能之能做什么,不是游戏过程):

功能:登陆模块:可以跳转到游戏界面

我方模块:可以前后左右移动,发射子弹,得分,销毁,减少生命&#;

敌方模块:可以移动,发射子弹,销毁,克隆,子弹追踪

技术:GUI(文字显示,按钮点击,暂停开始);

位移(我方和敌方的移动);

克隆(子弹、敌方的克隆);

销毁(子弹、我方、敌方的销毁);

协程(敌方一波一波的自动出现);

循环判断(得分、减少生命&#;、游戏的暂停和继续、敌方和我方的销毁);

音频(设置子弹发出的声音,敌方和我方爆炸的声音,背景音乐);

键盘判断(我方的位移和发射子弹和游戏的暂停(esc暂停));

鼠标判断(我方的发射子弹,跳转界面和游戏继续);

触发器检测(双方子弹互相打中和敌我双方相撞)

子弹追踪和协程应用(子弹追踪原理)

3、具体知识点:子弹追踪和协程技术

子弹追踪:

void Update() { transform.Translate(0, 0, speed * Time.deltaTime); timer -= Time.deltaTime; if (timer <= 0) { timer = 1; if (myTank != null) { Vector3 pos = enemyTank.position - myTank.position; 完成子弹的追踪,所用方法为transform . Translate GameObject.Instantiate(enemyRocket, enemyTank.position&#;new Vector3(0,,0), Quaternion.LookRotation(pos)); } } }

协程技术:

定义:

协同程序,即在主程序运行时同时开启另一段逻辑处理,来协同当前程序的执行。换句话说,开启协同程序就是开启一个线程。

协同程序的开启:

在Unity3D中,使用MonoBehaviour.StartCoroutine方法即可开启一个协同程序,也就是说该方法必须在MonoBehaviour或继承于MonoBehaviour的类中调用。

在Unity3D中,使用StartCoroutine(string methodName)和StartCoroutine(IEnumerator routine)都可以开启一个线程。区别在于使用字符串作为参数可以开启线程并在线程结束前终止线程,相反使用IEnumerator 作为参数只能等待线程的结束而不能随时终止(除非使用StopAllCoroutines()方法);另外使用字符串作为参数时,开启线程时最多只能传递 一个参数,并且性能消耗会更大一点,而使用IEnumerator 作为参数则没有这个限制。

协同程序的返回类型为Coroutine类型。在Unity3D中,Coroutine类继承于YieldInstruction,所以,协同程序的返回类型只能为null、等待的帧数(frame)以及等待的时间。

一个协同程序在执行过程中,可以在任意位置使用yield语句。yield的返回&#;控制何时恢复协同程序向下执行。协同程序在对象自有帧执行过程中堪称优秀。协同程序在性能上没有更多的开销。StartCoroutine函数是立刻返回的,但是yield可以延迟果。直到协同程序执行完毕。

在C#下,你必须调用StartCoroutine。

应用:

public GameObject[] Enemytank;//声明对象数组 int number = 5;void Start() { StartCoroutine("Spawn"); }IEnumerator Spawn() { yield return new WaitForSeconds(5f);//开始等待5秒 while (true) { while (number > 0) { GameObject go = Enemytank[Random.Range(0, Enemytank.Length)]; Vector3 pos = new Vector3(Random.Range(, ), f, f); GameObject.Instantiate(go, pos, transform.rotation); yield return new WaitForSeconds(f);//每隔两秒克隆1个 number--; } number = 5; yield return new WaitForSeconds(4f);//每隔4秒开始下一波 } }

这样就完成了敌方的一波一波的克隆和出现。

更多精彩请点击

Unity WWW网络动态加载和储存在本地 原文地址:

Spline Power 场景插件 插件主要用于构建由重复片段组成的物体,例如赛道:创作者可以使赛道呈现不同形态SplineFormerSegmentMesh:重复片段的模型MeshFiter:片段的材质Caps:片段

Unity中实现全局管理类的几种方式 如何在Unity中实现全局管理类?由于Unity脚本的运行机制和面向组件编程(COP)的思想,实现起来和普通的方式略有差别。第一种方式是使用静态类。适

标签: 子弹追踪原理

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

上一篇:数据库列的基本操作(数据库的列名是什么)

下一篇:Unity WWW网络动态加载和储存在本地

  • 建筑企业简易计税和一般计税分开核算
  • 零税率是指
  • 改革性补贴是否属于规范的津贴补贴
  • 补缴去年的附加税
  • 企业所得税抵扣项
  • 资产重组账务处理 会计视野
  • 厂房推倒重建房产税
  • 增值税一般纳税人证明文件
  • 中秋员工福利费会计分录
  • 非生产用设备及器具
  • 购销合同印花税优惠政策
  • 小微企业企业所得税怎么征收2023
  • 小规模企业超过500万营业额
  • 增值税报表上填写什么
  • 收到投资款怎么做凭证
  • 已交税的无票收入后期怎么补开发票?
  • 电子汇票贴现怎样操作
  • 数量和单价的乘积
  • 进厂的政府补贴怎么拿
  • 债务转为资本什么意思
  • 法院强制拍卖房子流程
  • 小企业成本核算方法移动加权平均法
  • 苹果手机id被锁定什么意思
  • 积极的财政政策有哪些
  • 对公账户被诈骗转款728000会怎么样呢
  • 电信网络网速变快设置
  • 计提工资的时候是应发合计还是实发合计
  • php实现保存网站内容
  • 公司装修待摊费怎么算
  • 国产操作系统两项全球第一
  • 代扣代缴的增值税算进项税吗
  • 代开专用发票缴纳增值税需要计提吗?
  • 发票抵扣条件
  • 牛肉炖萝卜的做法高压锅
  • memory tester
  • phpforeach遍历二维数组
  • php知识总结
  • 与取得收入无关的成语
  • 二手房转让中转什么意思
  • 在vue3项目中自定义组件通常存放在
  • 合并报表内部交易顺流逆流
  • 发行股票的手续费佣金计入什么科目
  • 增值税缓息是什么意思
  • 农民专业合作社是企业法人吗
  • 运输发票计算抵扣怎么报税
  • 工程施工预缴增值税
  • 进项税额转出会影响当期纳税吗?
  • python 自定义异常
  • 经营许可证需要多久时间
  • 大巴车怎么坐车
  • 房地产企业政府返还款
  • mysql获取字段值的长度
  • 淘宝开店的钱怎么取出来
  • 电子承兑转出需要授权吗
  • 合伙制律师事务所和个人律师事务所
  • 报销无法取得发票
  • 建账初期账务处理程序
  • 购买理财收入计入什么科目
  • 建筑业纳税人简易征收偷逃增值税
  • 收到投资款如何声明
  • 期末留抵税额可以冲减欠税吗
  • 房地产会计科目明细表
  • 用企业管理器创建一个备份设备
  • 正确使用显微镜的七个步骤
  • 杭州租房补贴社保断缴影响
  • win10系统怎么关闭自动更新
  • win10系统休眠唤醒屏幕变大怎么办
  • win7系统打不开浏览器
  • nfs网络安装
  • cocos2d
  • cocos2d-x教程
  • chrome浏览记录保存多久
  • 实现高性能化 两个字表达
  • node.js和go
  • nodejs获取ip
  • linux反转
  • 浅谈python要进行房价预测的优点和缺点
  • OnBecameVisible和OnBecameInvisible ,OnWillRenderObject
  • 海南省国家税务局电子税务局
  • 百旺开票软件打不开怎么回事
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设