位置: 编程技术 - 正文

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

编辑: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网络动态加载和储存在本地

  • 工商名称变更后多久网上可以查到记录
  • 视同内销增值税怎么申报
  • 应交土地使用税和应交城镇土地使用税一样吗
  • 购入生产线属于固定资产吗
  • 个人公积金计入什么会计科目
  • 暂估发票一直未收回
  • 母子公司间提供保洁保安合法吗
  • 小企业销售商品因批量原因给予客户的商业折扣
  • 预付账款年底账务怎么做账?
  • 支付的水电费属于什么会计科目
  • 销项发票采集不出来怎么回事
  • 增值税纳税申报表怎么填
  • 五证合一后地税编码怎么查
  • 企业所得税哪些不可以税前扣除
  • 暂估发票未到年报怎么调
  • 增值税预缴税款表项目编号是什么
  • 固定资产摊销怎么做
  • 企业非独立法人是什么意思
  • 土地使用税和房产税
  • 鸿蒙系统怎么看运行程序
  • 企业所得税季度申报表季度平均值
  • 加计扣除的会计要素
  • mac设置定时任务
  • u盘装机大师怎么用
  • php公众号
  • encodetext
  • 小规模年底税金怎么做账
  • 企业会计准则应付利息计入什么科目?
  • vue引用svg矢量图
  • php str函数
  • redis 缓存框架
  • 公司买发票的费用怎么做账?
  • Vue中 provide、inject 详解及使用
  • 工会经费,残保金,会计分录
  • 收到保险公司的车赔款会计分录怎么写
  • 进项税额在借方是增加还是减少
  • 销售返利账务处理及注意事项
  • Price Comparison Script
  • sql server ceiling
  • 印花税核定征收比例取消了吗
  • 定额的个体户怎么交税
  • 出库单可以自制吗
  • 预计资产负债表和预计利润表构成了整个财务预算
  • 微信支付算库存商品吗
  • 国外差旅费怎么入账
  • 企业注销未抵扣完进项税怎么处理
  • 技术服务费会计科目
  • 汇总记账凭证会计核算形式下总分类账账页格式一般采用
  • 中小企业投标费怎么算
  • 计提本月短期借款利息500元会计分录
  • 借用别人公司
  • 进项税额的ppt
  • 财务软件服务费合同印花税
  • 施工企业内部管理制度
  • 动态sql语句怎么写
  • win7 64位系统如何查看计算机名称为了应付某一操作
  • solaris root密码过期
  • win8系统自带应用都打不开了怎么办
  • win7 重装系统
  • 64位Windows XP系统盘空间占用很大空间怎么减肥
  • win10手机版微信uwp下载
  • winxp系统占用c盘多少
  • 新款苹果笔记本测评
  • windowsxp入门
  • linux sleep命令有什么用
  • win10mobile最新版本
  • Linux系统怎么用FTP传文件
  • html+css网页布局
  • 超级硬盘数据恢复软件v2.7
  • web应用程序开源框架
  • 详细解读了
  • Linuxshell脚本实现自动化软件部署内容
  • js初级教程
  • html5 树形控件
  • ca证书网上申请
  • 北京市工商局电话24小时客服热线
  • 南京国民政府统治和开辟革命新道路
  • 个体工商户两处所得,如何减半个税
  • 常州市三免卡
  • 综治中心能取代公务员吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设