C++/SDL 进阶游戏开发 —— 双人塔防(代号:村庄保卫战 19)



🎁个人主页: 工藤新一¹

🔍系列专栏: C++面向对象(类和对象篇)

🌟心中的天空之城,终会照亮我前方的路

🎉欢迎大家点赞👍评论📝收藏⭐文章


文章目录


二十八、EnemyManager敌人与子弹碰撞实现

28.1处理子弹碰撞


28.2金币生成功能


完备逻辑:


###28.3 子弹碰撞处理逻辑深度解析


二十九、状态栏界面组件实现

将数据显示在界面上

29.1成员字段和更新方法



29.2渲染方法和组件定位


29.3设置初始位置

回到 game_manager.h 引入 status_bar.h 头文件


在更新数据和渲染时调用,成员变量 status_bar



初始化位置


运行效果:

我们发现能量条不存在


纠正:

依然无法显示能量条


Debug的一个重要思路是:

  • 先分析数值初始化/定义是否正确
  • 再判断逻辑

​ 当我们发现,我们的能量条的填充物并没有显示时,我们的第一反应优先锁定定义阶段是否存在问题:

  • Ctrl + f:color_mp_bar_foreground

最终我们发现,对于 color_mp_bar_foreground 所初始化的透明度存在问题,应为:255 - 不透明

这样就是我们想要的结果了


29.4逻辑说明


🌟 各位看官好我是工藤新一¹呀~

🌈 愿各位心中所想,终有所致!

相关推荐
SDL大华14 分钟前
【备忘】PHP web项目一般部署办法
开发语言·php
٩( 'ω' )و26022 分钟前
qt信号与槽--01
开发语言·qt
小猫咪怎么会有坏心思呢1 小时前
华为OD机考-找座位-逻辑分析(JAVA 2025B卷)
java·开发语言·华为od
泪光29291 小时前
洛谷自己创建的一个小比赛【c++】
开发语言·c++
比特森林探险记1 小时前
GO 入门小项目-博客-结合Gin Gorm
开发语言·golang·gin
傻傻虎虎1 小时前
【QT】自动更新库QSimpleUpdater使用实例封装
开发语言·qt
加油冲丫1 小时前
Java过滤器的基本概念
java·开发语言·后端·servlet
RR13351 小时前
一个小错误:Content-Type ‘text/plain;charset=UTF-8‘ is not supported 的粗心
开发语言·前端·javascript
is08152 小时前
C语言运行时
c语言·开发语言
q567315232 小时前
Go语言高并发爬虫程序源码
开发语言·爬虫·golang