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

🎁个人主页: 工藤新一¹

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

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

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


### 文章目录

  • [@[toc]](#文章目录 @[toc] 二十三、 Tower 防御塔基类实现 23.1 Tower 防御塔类通用功能 23.2 Timer 定时器 23.3 回调函数 23.4 锁敌与开火逻辑实现 23.4.1开火模式 23.4.1.1子弹生成逻辑 23.4.1.2 方向计算、子弹发射逻辑解析 23.4.1.3塔防朝向 23.4.2更新开火动画 23.4.3锁敌模式)
  • [二十三、 Tower 防御塔基类实现](#文章目录 @[toc] 二十三、 Tower 防御塔基类实现 23.1 Tower 防御塔类通用功能 23.2 Timer 定时器 23.3 回调函数 23.4 锁敌与开火逻辑实现 23.4.1开火模式 23.4.1.1子弹生成逻辑 23.4.1.2 方向计算、子弹发射逻辑解析 23.4.1.3塔防朝向 23.4.2更新开火动画 23.4.3锁敌模式)
  • [23.1 Tower 防御塔类通用功能](#文章目录 @[toc] 二十三、 Tower 防御塔基类实现 23.1 Tower 防御塔类通用功能 23.2 Timer 定时器 23.3 回调函数 23.4 锁敌与开火逻辑实现 23.4.1开火模式 23.4.1.1子弹生成逻辑 23.4.1.2 方向计算、子弹发射逻辑解析 23.4.1.3塔防朝向 23.4.2更新开火动画 23.4.3锁敌模式)
  • [23.2 Timer 定时器](#文章目录 @[toc] 二十三、 Tower 防御塔基类实现 23.1 Tower 防御塔类通用功能 23.2 Timer 定时器 23.3 回调函数 23.4 锁敌与开火逻辑实现 23.4.1开火模式 23.4.1.1子弹生成逻辑 23.4.1.2 方向计算、子弹发射逻辑解析 23.4.1.3塔防朝向 23.4.2更新开火动画 23.4.3锁敌模式)
  • [23.3 回调函数](#文章目录 @[toc] 二十三、 Tower 防御塔基类实现 23.1 Tower 防御塔类通用功能 23.2 Timer 定时器 23.3 回调函数 23.4 锁敌与开火逻辑实现 23.4.1开火模式 23.4.1.1子弹生成逻辑 23.4.1.2 方向计算、子弹发射逻辑解析 23.4.1.3塔防朝向 23.4.2更新开火动画 23.4.3锁敌模式)
  • [23.4 锁敌与开火逻辑实现](#文章目录 @[toc] 二十三、 Tower 防御塔基类实现 23.1 Tower 防御塔类通用功能 23.2 Timer 定时器 23.3 回调函数 23.4 锁敌与开火逻辑实现 23.4.1开火模式 23.4.1.1子弹生成逻辑 23.4.1.2 方向计算、子弹发射逻辑解析 23.4.1.3塔防朝向 23.4.2更新开火动画 23.4.3锁敌模式)
  • [23.4.1开火模式](#文章目录 @[toc] 二十三、 Tower 防御塔基类实现 23.1 Tower 防御塔类通用功能 23.2 Timer 定时器 23.3 回调函数 23.4 锁敌与开火逻辑实现 23.4.1开火模式 23.4.1.1子弹生成逻辑 23.4.1.2 方向计算、子弹发射逻辑解析 23.4.1.3塔防朝向 23.4.2更新开火动画 23.4.3锁敌模式)
  • [23.4.1.1子弹生成逻辑](#文章目录 @[toc] 二十三、 Tower 防御塔基类实现 23.1 Tower 防御塔类通用功能 23.2 Timer 定时器 23.3 回调函数 23.4 锁敌与开火逻辑实现 23.4.1开火模式 23.4.1.1子弹生成逻辑 23.4.1.2 方向计算、子弹发射逻辑解析 23.4.1.3塔防朝向 23.4.2更新开火动画 23.4.3锁敌模式)
  • [23.4.1.2 方向计算、子弹发射逻辑解析](#文章目录 @[toc] 二十三、 Tower 防御塔基类实现 23.1 Tower 防御塔类通用功能 23.2 Timer 定时器 23.3 回调函数 23.4 锁敌与开火逻辑实现 23.4.1开火模式 23.4.1.1子弹生成逻辑 23.4.1.2 方向计算、子弹发射逻辑解析 23.4.1.3塔防朝向 23.4.2更新开火动画 23.4.3锁敌模式)
  • [23.4.1.3塔防朝向](#文章目录 @[toc] 二十三、 Tower 防御塔基类实现 23.1 Tower 防御塔类通用功能 23.2 Timer 定时器 23.3 回调函数 23.4 锁敌与开火逻辑实现 23.4.1开火模式 23.4.1.1子弹生成逻辑 23.4.1.2 方向计算、子弹发射逻辑解析 23.4.1.3塔防朝向 23.4.2更新开火动画 23.4.3锁敌模式)
  • [23.4.2更新开火动画](#文章目录 @[toc] 二十三、 Tower 防御塔基类实现 23.1 Tower 防御塔类通用功能 23.2 Timer 定时器 23.3 回调函数 23.4 锁敌与开火逻辑实现 23.4.1开火模式 23.4.1.1子弹生成逻辑 23.4.1.2 方向计算、子弹发射逻辑解析 23.4.1.3塔防朝向 23.4.2更新开火动画 23.4.3锁敌模式)
  • [23.4.3锁敌模式](#文章目录 @[toc] 二十三、 Tower 防御塔基类实现 23.1 Tower 防御塔类通用功能 23.2 Timer 定时器 23.3 回调函数 23.4 锁敌与开火逻辑实现 23.4.1开火模式 23.4.1.1子弹生成逻辑 23.4.1.2 方向计算、子弹发射逻辑解析 23.4.1.3塔防朝向 23.4.2更新开火动画 23.4.3锁敌模式)

二十三、 Tower 防御塔基类实现

23.1 Tower 防御塔类通用功能

创建 tower 帅选器存放不同的防御塔文件,并且创建 tower 基类


创建 tower_type.h 文件



添加 facing 枚举,表示防御塔(以及 RPG 角色 - 龙)的朝向



设置动画朝向





23.2 Timer 定时器


23.3 回调函数


23.4 锁敌与开火逻辑实现


23.4.1开火模式

23.4.1.1子弹生成逻辑

23.4.1.2 方向计算、子弹发射逻辑解析

23.4.1.3塔防朝向


23.4.2更新开火动画

23.4.3锁敌模式

攻击敌人的优先级设定:

防御塔攻击策略:优先攻击 route_process 进度最大的怪物



​ 这里我们的代码出现了些许小问题,我们无法调用 get 方法,经过查找,我们发现问题,我们并没有在 EnemyManager 管理器中,暴露对外访问的接口



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

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

相关推荐
用户6869161349019 小时前
哈希表实现指南:从原理到C++实践
数据结构·c++
大老板a19 小时前
c++五分钟搞定异步处理
c++
羑悻的小杀马特1 天前
从信息孤岛到智能星云:学习助手编织高校学习生活的全维度互联网络
c++·学习·生活·api
C++ 老炮儿的技术栈1 天前
VSCode -配置为中文界面
大数据·c语言·c++·ide·vscode·算法·编辑器
祁同伟.1 天前
【C++】类和对象(上)
c++
90wunch1 天前
更进一步深入的研究ObRegisterCallBack
c++·windows·安全
刃神太酷啦1 天前
聚焦 string:C++ 文本处理的核心利器--《Hello C++ Wrold!》(10)--(C/C++)
java·c语言·c++·qt·算法·leetcode·github
DARLING Zero two♡1 天前
C++数据的输入输出秘境:IO流
c++·stl·io流
Magnum Lehar2 天前
wpf3d游戏引擎EditorColors.xaml实现
ui·游戏引擎·wpf
知然2 天前
鸿蒙 Native API 的封装库 h2lib_arkbinder
c++·arkts·鸿蒙