当前位置: 首页 > 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 管理器

在这里插入图片描述


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

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

http://www.dtcms.com/a/164694.html

相关文章:

  • 当 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:机遇与挑战的思考
  • 微服务架构详解:从概念到实践
  • 集群与存储-lvs-nat实验
  • Origin将普通散点图升级为清晰的基因分组差异蜂群图
  • 使用 v-print 实现 Vue 项目中的打印功能
  • Windows Server 2019搭建iis服务器
  • 小市值策略复现(A股选股框架回测系统)
  • CORS跨域学习
  • 第十六届蓝桥杯大赛网安组--几道简单题的WP
  • C++中vector的扩容过程是怎样的?
  • 折叠机处理流程