当前位置: 首页 > news >正文

制作一款打飞机游戏67:更好的瞄准

敌人改造

首先,我们需要对敌人进行改造。这包括“去地点”命令以及地面敌人的处理。这些都是我今天想要着手解决的事情。

敌人函数重写

让我们从敌人函数开始。在“大脑编辑器”中,我们执行了所有的敌人行为命令。这些命令被转换成敌人的动画目标值等。在“敌人函数”中,我们实际上执行了敌人的动画、移动和速度变化等行为。

我注意到,有些代码段存在问题。例如,我们有69个令牌专门用于“跟随”命令,但我们现在并没有使用这个命令。此外,动画速度和方向的代码块几乎是完全相同的,这让我觉得它们可以合并。

智能代码片段

我发现了一段非常智能的代码。它根据敌人的移动角度,结合动画速度的差异,选择一个中间值来计算目标角度。这种方式的好处是,无论动画速度是正是负,它都能自动到达目标值,而且不会超调。这节省了大量的代码和令牌。

修正循环问题

在动画某些敌人时,我发现它们的移动方向有时会出错,导致敌人围绕目标旋转。我重写了代码,确保敌人总是能找到到达目标的最短路径。

位置移动命令

接下来,我想添加一个“位置移动”命令,让敌人能够直接移动到屏幕上的指定位置。我实现了一个简单的函数,但如果敌人已经接近目标位置,它可能会在那里停留一会儿,这不是很理想。

整合与测试

现在,我将这些新功能整合到游戏中,并进行测试。看起来一切工作正常。我们节省了令牌,并使代码更加简洁。

相关文章:

  • Window Server 2019--11 虚拟专用网络
  • 【Java后端基础 005】ThreadLocal-线程数据共享和安全
  • vue3子组件获取并修改父组件的值
  • 企业私有化部署的平价革命:五步实现“低成本高可控”AI落地——破除百万投入迷思,中小企业也能玩转私有化大模型
  • 李沐《动手学深度学习》d2l安装教程
  • 在 Windows 系统上运行 Docker 容器中的 Ubuntu 镜像并显示 GUI
  • window查看SVN账号密码
  • 第四十六天打卡
  • 华为 “一底双长焦” 专利公布,引领移动影像新变革
  • vue中加载Cesium地图(天地图、高德地图)
  • 解决基于LangGraph框架的DeerFlow使用Qwen3不能正常被解析的问题
  • SOC-ESP32S3部分:31-ESP-LCD控制器库
  • TeamCity Agent 配置完整教程(配合 Docker Compose 快速部署)
  • Vite 双引擎架构 —— Esbuild 概念篇
  • Self Attention自注意力机制
  • 使用 Docker Compose 从零部署 TeamCity + PostgreSQL(详细新手教程)
  • Ubuntu 系统通过防火墙管控 Docker 容器
  • 【PyQt5】用于设置控件位置的参数
  • 【Kotlin】注解反射扩展
  • [大A量化专栏] 夏普比率
  • 路由器做网站主机要备案吗/网络营销公司名字
  • 查找做像册的网站/哪有恶意点击软件买的
  • 客户跟进系统 免费/拼多多关键词优化是怎么弄的
  • 网站搜索框代码怎么做/快速排名seo软件
  • 文案策划的网站/网络推广平台都有哪些
  • 一个公司做多个网站是好还是坏/广东seo推广外包