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

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

在这里插入图片描述
在这里插入图片描述

🎁个人主页:工藤新一¹

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

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

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


文章目录

    • @[toc]
    • 二十一、三种不同类型的子弹类实现
      • 21.1 ArrowBullet箭头子弹
      • 21.2音效设置
        • 21.2.1受击音效
        • 21.2.1 override
      • 21.2 AxeBullet 斧头子弹
      • 21.3 ShellBullet 炮弹子弹
        • 21.3.1配置 explode(爆炸)属性
    • 二十二、BulletManager 子弹管理器设计
      • 22.1 管理子弹帧更新与生命周期
      • 22.2碰撞检测的准备
      • 22.3子弹生成(发射)逻辑
      • 22.4 管理器

二十一、三种不同类型的子弹类实现

21.1 ArrowBullet箭头子弹

创建 arrow_bullet.h 文件

在这里插入图片描述


在这里插入图片描述


21.2音效设置

21.2.1受击音效

我们的资源库中有三个受击音效,可以随机播放受击音效

在这里插入图片描述

在这里插入图片描述


21.2.1 override

在这里插入图片描述


21.2 AxeBullet 斧头子弹

在这里插入图片描述


21.3 ShellBullet 炮弹子弹

炮弹和其他子弹的不同点在于爆炸特效(动画)

在这里插入图片描述


21.3.1配置 explode(爆炸)属性

在这里插入图片描述


在这里插入图片描述


二十二、BulletManager 子弹管理器设计

22.1 管理子弹帧更新与生命周期

子弹自身的更新:

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


22.2碰撞检测的准备

​ 子弹自身的更新完成了,但如果敌人要与子弹发生碰撞,那我们需要在敌人那边获取到场上所有的子弹

​ 那么,我们就需要对 bullet_list 提供一个对外访问的接口

在这里插入图片描述


为什么是引用返回?

在这里插入图片描述


22.3子弹生成(发射)逻辑

在这里插入图片描述


在这里插入图片描述


枚举 (enmu) 搭配 (switch) 语句,实现实例不同数类型的实例

在这里插入图片描述


22.4 管理器

在这里插入图片描述


在这里插入图片描述
🌟 各位看官好我是工藤新一¹呀~

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

相关文章:

  • 当 AI 成为 “数字新物种”:人类职业的重构与进化
  • 角度(degrees)和弧度(radians)转换关系
  • Glide 如何加载远程 Base64 图片
  • 链表反转操作经典问题详解
  • 关于 const a 定义的数据 与 其渲染 的问题。即通过const定义的常量,会不会导致渲染不及时。
  • 原语的使用
  • 归并排序排序总结
  • 创建RAID1并扩容RAID
  • 使用C# ASP.NET创建一个可以由服务端推送信息至客户端的WEB应用(1)
  • Redis分布式锁使用以及对接支付宝,paypal,strip跨境支付
  • Qwen3-8B安装与体验-速度很快!
  • 国内无法访问GitHub官网的问题解决
  • 碰到的 MRCPv2 串线以及解决思路
  • C语言Makefile编写与使用指南
  • centos7 安装python3
  • IIC小记
  • Wi-SUN与LoRa和NB-IoT通信技术的对比
  • Femap许可分配和监控
  • API文档生成与测试工具推荐
  • CSS in JS:机遇与挑战的思考
  • 移动互联网未成年人模式正式发布
  • 解放日报:上海深化改革开放,系统集成创新局
  • 澎湃读报丨解放日报9个版聚焦:上海,加快建成具有全球影响力的科技创新高地
  • 陈文清:推进扫黑除恶常态化走深走实,有力回应人民群众对安居乐业的新期待
  • 言短意长|政府食堂、停车场开放的示范效应
  • 上海“生育友好岗”已让4000余人受益,今年将推产假社保补贴政策