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

制作一款打飞机游戏16:空间优化

 Sprite空间优化

  • 已完成的工作‌:我们已经建立了一个系统来节约Sprite空间,但仍有一些问题需要解决。
  • 待开发工具‌:我们需要开发一个工具来创建Sprite,并处理动画和压缩问题。

代码优化实例

  • 压缩二维数组‌:我展示了一个名为split2d的函数,用于压缩二维数组,从而节省代币(游戏中的资源单位)。
  • 修复滚动bug‌:解决了X轴滚动时出现的“传送门”bug,通过调整滚动逻辑和添加死区来避免不必要的段落删除和重生。
function split2d(s)local arr=split(s,"|",false)for k, v in pairs(arr) doarr[k] = split(v)endreturn arr
end
 xscroll=mid(0,(px-10)/108,1)*-16debug[2]=xscroll

粒子系统优化

  • 重构粒子权重‌:我重构了粒子系统的权重计算,将粒子的年龄作为单一变量来同时控制粒子的显示时机和动画。
  • 颜色动画‌:在绘制函数中添加了颜色动画,使得在不需要显式定义颜色的情况下也能实现粒子的颜色变化。
 for i=1,spokes do--spawn blobslocal myang=ang+step*ilocal dist=7+rnd(3)local dist2=dist/2add(parts,{draw=blob,x=ex+sin(myang)*dist2,y=ey+cos(myang)*dist2,r=2,tor=rndrange(4,7),tox=ex+sin(myang)*dist,toy=ey+cos(myang)*dist,sx=0,sy=edrift,age=-ewait,maxage=emaxage,onend=eonend,spd=espd,ctab=ectab,ctabv=rnd(5)})  endadd(parts,{draw=blob,x=ex,y=ey,r=2,tor=7,sx=0,sy=edrift,age=-ewait,maxage=emaxage,onend=eonend,spd=espd,ctab=ectab})  
end

相关文章:

  • 高并发内存池项目
  • 第十四届蓝桥杯 2023 C/C++组 有奖问答
  • 数组理论基础
  • AI Agent开发第34课-用最先进的图片向量BGE-VL实现“图搜图”-下
  • overlay 模块加载失败问题分析
  • 一文详解opencv-python环境搭建:Mac配置python的cv2开发环境
  • 按照三级缓存机制,在单片机中实现大文件10M级别以上文件读写、解析实现方法,基于LIBCSV库和fatfs进行实现
  • Spring MVC 核心注解与文件上传教程
  • LabVIEW数据采集与传感系统
  • 潞晨科技将暂停DeepSeek API服务,AI大模型技术红利普惠化与市场竞争白热化叠加,内卷恶果,开始显现!
  • 基础服务系列-Windows10 安装AnacondaJupyter
  • 随机深林算法是分类还是回归?
  • 搭建哨兵架构
  • 开发指南:构建结合数字孪生、大语言模型与知识图谱的智能设备日志分析及生产异常预警系统
  • 思科路由器做DNS服务器
  • 掌握Go空接口强大用途与隐藏陷阱
  • 边缘计算场景下的GPU虚拟化实践(基于vGPU的QoS保障与算力隔离方案)
  • 第39讲|决策树与作物分布建模:可解释的AI助力农业智能推演
  • 大数据组件学习之--Kafka 安装搭建
  • 开关电源实战(六)STM32数控电源BuckBoost
  • KZ队史首冠,透过春决看CF电竞张扬的生命力
  • 中汽协:杜绝虚假宣传与过度营销,确保用户清晰区别驾驶辅助与自动驾驶
  • 豫章故郡,剑指演艺经济新高地
  • 淄博张店区国资公司挂牌转让所持“假国企”股权,转让底价为1元
  • 再现逆转!蒯曼击败伊藤美诚晋级澳门世界杯女单决赛
  • 明查|美军“杜鲁门”号航空母舰遭胡塞武装打击已退役?