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

制作一款打飞机游戏20:敌人被击中时的视觉效果

  1. 碰撞检测问题‌:

    子弹与飞船的碰撞检测存在数学问题,特别是坐标偏移量不一致。问题根源在于x scroll值为浮点数,导致非对称的加减运算结果。解决方案是将x scroll值向下取整,确保碰撞检测的对称性。
  2. 敌人碰撞与行为‌:

    引入敌人后,发现敌人与子弹的碰撞检测也存在问题,同样通过调整坐标偏移量解决。需要统一碰撞盒逻辑,减少函数参数,提高代码简洁性。存储敌人数据的必要性,包括动画、碰撞盒大小等信息。

  1. 敌人被击中时的视觉效果‌:

    实现了敌人被击中时的闪烁效果,通过调整调色板实现颜色变化。
  2. 爆炸效果(Splash Effect)‌:

    子弹击中敌人时的爆炸效果,通过动画帧实现。延迟爆炸效果的出现时间,使其与子弹消失同步。
  3. 敌人生命值与爆炸‌:

    为敌人添加了生命值属性,当生命值降至零时敌人爆炸。实现了随机生成敌人的功能。
for s in all(splash) do    mspr(s.sani[flr(s.si)],s.x,s.y)--pset(s.x,s.y,8)end
for e in all(enemies) dofor s in all(shots) doif col(flr(xscroll+s.x-3),flr(s.y),8,16,flr(xscroll+e.x-7),flr(e.y-7),16,16) thene.flash=2del(shots,s)add(splash,{x=s.x,y=s.y+4,  sani={23,23,24,25,26},si=0    })e.hp-=1if e.hp<=0 thendel(enemies,e)explode(e.x,e.y)end endendend  
function dosplash()for s in all(splash) dos.si+=1s.si=max(s.si,1) if flr(s.si)>#s.sani thendel(splash,s)endend
end


文章转载自:

http://aSR1YJUT.btLsb.cn
http://IHon3tMF.btLsb.cn
http://NeCG6gcg.btLsb.cn
http://cymcSVYq.btLsb.cn
http://pviENRTl.btLsb.cn
http://cj6AjEF2.btLsb.cn
http://JzoBi2cK.btLsb.cn
http://24gV8cLl.btLsb.cn
http://gkFTNRWk.btLsb.cn
http://yu1w6Qkq.btLsb.cn
http://FmnkDOBk.btLsb.cn
http://9CChqJOP.btLsb.cn
http://3jdoSF2k.btLsb.cn
http://tl21iVQ6.btLsb.cn
http://PrSYIpb3.btLsb.cn
http://plZUlz8h.btLsb.cn
http://mKuUFV4D.btLsb.cn
http://K988cTca.btLsb.cn
http://c7wtd2fT.btLsb.cn
http://fHtfPBYT.btLsb.cn
http://jwmjERpR.btLsb.cn
http://umFRx3pa.btLsb.cn
http://rjCUPaYN.btLsb.cn
http://BuknOXyq.btLsb.cn
http://m3Yiw8kT.btLsb.cn
http://SIIgkZJT.btLsb.cn
http://bs813mGC.btLsb.cn
http://guSIWdsN.btLsb.cn
http://303JGyWp.btLsb.cn
http://iKhqeyl7.btLsb.cn
http://www.dtcms.com/a/153916.html

相关文章:

  • 理解js函数(Ⅱ)
  • 嵌入式Linux驱动开发:LED实验
  • Spring Boot中自定义404异常处理问题学习笔记
  • Android学习总结之Room篇
  • 发送网络请求
  • 《无尽的尽头》今日开播 刘家祎大胆演绎林磊儿的“另一面”
  • RAG(检索增强生成)技术详解与应用实践:从原理到落地
  • 简单几步,开启 Intel VT-x 让电脑“解开CPU封印”
  • 蓝桥杯 20. 压缩变换
  • 数据分析之 商品价格分层之添加价格带
  • 欧姆龙NJ系列PLC通讯
  • vue3-springboot-mysql的docker部署
  • 怎么实现RAG检索相似文档排序:similarities
  • 云蝠智能大模型呼叫:AI驱动的通信服务革新与实践
  • 操作系统---进程同步与互斥
  • 【频谱分析仪与信号分析仪】异同比较
  • Unity后处理全解析:从入门到优化
  • 《Linux程序设计》实验8 线程程序设计
  • vulkanscenegraph显示倾斜模型(6)-帧循环
  • RTS 如何使用流控方式自动实现收发
  • 【每天一个知识点】熵(Entropy)
  • SpringBoot入门实战(项目搭建、配置、功能接口实现等一篇通关)
  • 【KWDB 创作者计划】_上位机知识篇---Github
  • 什么是公链?公链项目有哪些?公链项目开发
  • 【OSG学习笔记】Day 8: 纹理贴图——赋予模型细节
  • vue2项目,为什么开发环境打包出来的js文件名是1.js 2.js,而生产环境打包出来的是chunk-3adddd.djncjdhcbhdc.js
  • 头歌之动手学人工智能-机器学习 --- PCA
  • SIGGRAPH投稿相关官方指导
  • Python 读取 txt 文件详解 with ... open()
  • Python torchvision.datasets 下常用数据集配置和使用方法