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


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

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

相关推荐
孞㐑¥44 分钟前
Linux之Socket 编程 UDP
linux·服务器·c++·经验分享·笔记·网络协议·udp
黄雪超4 小时前
JVM——函数式语法糖:如何使用Function、Stream来编写函数式程序?
java·开发语言·jvm
ThetaarSofVenice4 小时前
对象的finalization机制Test
java·开发语言·jvm
水木兰亭4 小时前
数据结构之——树及树的存储
数据结构·c++·学习·算法
思则变4 小时前
[Pytest] [Part 2]增加 log功能
开发语言·python·pytest
lijingguang4 小时前
在C#中根据URL下载文件并保存到本地,可以使用以下方法(推荐使用现代异步方式)
开发语言·c#
¥-oriented5 小时前
【C#中路径相关的概念】
开发语言·c#
CoderCodingNo5 小时前
【GESP】C++四级考试大纲知识点梳理, (7) 排序算法基本概念
开发语言·c++·排序算法
恋猫de小郭5 小时前
Meta 宣布加入 Kotlin 基金会,将为 Kotlin 和 Android 生态提供全新支持
android·开发语言·ios·kotlin
JosieBook5 小时前
【Java编程动手学】使用IDEA创建第一个HelloJava程序
java·开发语言·intellij-idea