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


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

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

相关推荐
IMPYLH6 分钟前
Lua 的 IO (输入/输出)模块
开发语言·笔记·后端·lua
普通网友8 分钟前
Objective-C 类的方法重载与重写:区别与正确使用场景
开发语言·ios·objective-c
喵了meme16 分钟前
C语言实战6
c语言·开发语言
AAA阿giao20 分钟前
从“操纵绳子“到“指挥木偶“:Vue3 Composition API 如何彻底改变前端开发范式
开发语言·前端·javascript·vue.js·前端框架·vue3·compositionapi
小裴(碎碎念版)21 分钟前
文件读写常用操作
开发语言·爬虫·python
sheji341638 分钟前
【开题答辩全过程】以 基于Java的应急安全学习平台的设计与实现为例,包含答辩的问题和答案
java·开发语言·学习
WolfGang00732140 分钟前
代码随想录算法训练营Day48 | 108.冗余连接、109.冗余连接II
数据结构·c++·算法
winfield82140 分钟前
MCP 协议详解
开发语言·网络·qt
cheems95271 小时前
锁策略的介绍
java·开发语言