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逻辑说明


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

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

相关推荐
小龙报10 小时前
【算法通关指南:数据结构与算法篇(五)】树的 “自我介绍”:从递归定义到存储绝技(vector vs 链式前向星)
c语言·数据结构·c++·算法·链表·启发式算法·visual studio
jtymyxmz10 小时前
《Unity Shader》11.3.2 广告牌技术
unity·游戏引擎
666HZ66610 小时前
C语言——C++的引用
c语言·开发语言·c++
San30.10 小时前
深入 JavaScript 原型与面向对象:从对象字面量到类语法糖
开发语言·javascript·ecmascript
皖南大花猪10 小时前
Go 项目中使用 Casbin 实现 RBAC 权限管理完整教程
开发语言·后端·golang·rbac·casbin
点云SLAM10 小时前
C++包装器之类型擦除(Type Erasure)包装器详解(4)
c++·算法·c++17·类型擦除·c++高级应用·c++包装器·函数包装
源代码•宸10 小时前
GoLang写一个火星漫游行动
开发语言·经验分享·后端·golang
小尧嵌入式10 小时前
C++中的封装继承多态
开发语言·arm开发·c++
csbysj202010 小时前
Redis 配置详解
开发语言
行走在电子领域的工匠10 小时前
台达ST:自定义串行通讯传送与接收指令COMRS程序范例四
开发语言·台达plc·st语言编程