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

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

在这里插入图片描述
在这里插入图片描述
🎁个人主页:工藤新一¹

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

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

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


文章目录

    • 二十八、EnemyManager敌人与子弹碰撞实现
      • 28.1处理子弹碰撞
      • 28.2金币生成功能
      • ###28.3 子弹碰撞处理逻辑深度解析
    • 二十九、状态栏界面组件实现
      • 29.1成员字段和更新方法
      • 29.2渲染方法和组件定位
      • 29.3设置初始位置
      • 29.4逻辑说明


二十八、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逻辑说明

在这里插入图片描述


在这里插入图片描述

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

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

http://www.xdnf.cn/news/3695.html

相关文章:

  • IP伪装、代理池与分布式爬虫
  • 探索内容智能化的关键解决方案
  • java学习之数据结构:二、链表
  • 模拟SIP终端向Freeswitch注册用户
  • ES6入门---第二单元 模块二:关于数组新增
  • 工业传动核心部件深度剖析:丝杆升降机与气缸的技术特性及选型指南
  • MCP多智能体消息传递机制(Message Passing Between Agents)
  • c#数据结构 线性表篇 非常用线性集合总结
  • springboot基于推荐算法的景点推荐系统(源码+lw+部署文档+讲解),源码可白嫖!
  • 20:深度学习-多层感知器原理
  • Android 端如何监控 ANR、Crash、OOM 等严重问题
  • 深度学习系统学习系列【2】之人工神经网络(ANN)
  • Javase 基础入门 —— 07 接口
  • ChatGPT:重塑人工智能交互范式的破晓之作
  • 【AI论文】交互式生成视频综述
  • 【libuv】基于libuv的exe链接错误
  • JVM——JVM 是如何处理异常的?
  • 传奇各版本迭代时间及内容变化,屠龙/嗜魂法杖/逍遥扇第一次出现的时间和版本
  • Linux53 百度网盘运行(下载devtoolset11后仍提示stdc++3.0.29缺失 计划用docker容器隔离运行,计划后续再看)
  • 鼠标悬浮特效:常见6种背景类悬浮特效
  • Docker与WSL2如何清理
  • 一篇文章看懂web服务
  • NV203NV207SSD固态闪存NV208NV213
  • NoxLucky:个性化动态桌面,打造独一无二的手机体验
  • 用docker ffmpeg测试视频vmaf分数,很快不用编译
  • C#VisionMaster算子二次开发(非方案版)
  • NocoDB:开源的 Airtable 替代方案
  • operator 可以根据需要重载 == 运算符进行比较
  • 《告别试错式开发:TDD的精准质量锻造术》
  • 【quantity】7 角度单位模块(angle.rs)