摘要: 死亡动画和血量标签 这一节的核心内容,是在前面已经完成的“攻击动画驱动战斗结算”和“远程投射物命中结算”基础上,再往前补上两类非常重要的表现反馈: 单位受伤后,地图上显示血量条 敌人死亡后,不是立刻凭空消失,而是先播放一次性死亡特效 这一步做完之后,战斗系统就不再只是“数值变化是对的”,而是开始具备 阅读全文
posted @ 2026-04-15 20:08 wenyiGamecpp 阅读(11) 评论(0) 推荐(0)
摘要: 远程攻击与弹道 这一节的核心内容,是把之前已经搭好的近战攻击链路继续往前推进,扩展出一套完整的远程攻击流程: 远程单位播放攻击动画 在动画的某一帧触发 "emit" 发射事件 生成投射物实体 投射物沿着弹道飞行 飞行结束后触发命中结算 这一步做完之后,战斗系统就不再只是“近战单位贴脸命中”,而是开始 阅读全文
posted @ 2026-04-14 20:37 wenyiGamecpp 阅读(14) 评论(0) 推荐(0)
摘要: 动画驱动的战斗交互 上节我们已经完成了: 目标锁定 攻击起手 攻击冷却 攻击动画切换 动画结束后的状态恢复 也就是说,单位已经能完成一条基础战斗链: 找目标 冷却结束 播放攻击动画 动画结束回到 idle / walk 但是这还只是“看起来在战斗”,并不等于真正把动画、伤害、治疗、音效、阻挡状态、朝 阅读全文
posted @ 2026-04-12 18:28 wenyiGamecpp 阅读(11) 评论(0) 推荐(0)
摘要: 目标锁定与攻击 上节我们完成了玩家蓝图、玩家创建以及敌人阻挡关系。现在场上已经同时有了: 会沿路径前进的敌人 可以被放置的玩家单位 可以拦住敌人的近战玩家 但目前它们还只是“站到一起”,还没有形成真正的战斗循环。 这一节要补上的,是战斗里最关键的一条链路: 目标锁定 攻击起手 攻击冷却 攻击动画切换 阅读全文
posted @ 2026-04-10 21:14 wenyiGamecpp 阅读(12) 评论(0) 推荐(0)
摘要: 玩家蓝图和阻挡组件 上节我们完成了敌人的蓝图和实体工厂,已经把“敌人创建”从硬编码 emplace<...>() 切到数据驱动。 这一节继续把同一套思想扩展到玩家单位: 新增 PlayerBlueprint / PlayerClassBlueprint(玩家蓝图) 在 BlueprintManage 阅读全文
posted @ 2026-04-08 20:23 wenyiGamecpp 阅读(2) 评论(0) 推荐(0)
摘要: 蓝图和实体工厂 上节课我们完成了从Tiled解析出路径节点,并让敌人沿着规划的路径移动,但我们在创建敌人的时候是"手动创建测试实体",registry.create(); emplace<Transform/Velocity/Enemy/Sprite/Render...>(),这种方法虽然可以跑通, 阅读全文
posted @ 2026-04-01 19:43 wenyiGamecpp 阅读(12) 评论(0) 推荐(0)
摘要: 设定移动路径 前面我们完成了将关卡从Tiled载入到ECS世界,并完成了背景色,渲染顺序,gid翻转等细节,这节我们将完成敌人从开始点出发,沿着预设路径走到终点。我们需要实现路径点的定义、路径加载、敌人移动逻辑以及路径跟随系统的实现。 利用Tiled中点对象画出路径节点,并用属性把节点连成图 关卡加 阅读全文
posted @ 2026-03-31 11:07 wenyiGamecpp 阅读(7) 评论(0) 推荐(0)
摘要: 有必要写个周报,总结一下一周的进度。 这周比较繁忙,导师需要按装服务器,还需要做个映射,课题这边还需要补充大论文的内容,哎,想着加点机器学习相关的内容,但是处理一组数据就要近4个小时,真是累啊。目前还是在学习C++游戏开发,还抽空学了一些Tiled的关卡制作。就学到现在,这门语言吧,我觉得越学越不懂 阅读全文
posted @ 2026-03-30 13:47 wenyiGamecpp 阅读(11) 评论(0) 推荐(0)
摘要: ECS框架 前几章我们完成了“输入信号+事件总线+场景切换+资源系统”。使用传统的GameObject + Component(面向对象)写法无法支撑过多的游戏对象,这里我们将会引入ECS架构。 Entity(实体):只是一个“唯一标识符” Component(组件):纯粹的数据 System(系统 阅读全文
posted @ 2026-03-26 11:17 wenyiGamecpp 阅读(14) 评论(0) 推荐(0)
摘要: 引入哈希字符串 由于代码中存在大量的名字比如:UI的状态名normal/hover/pressed,音乐、音效ui_hover/battle_bgm,纹理/声音路径assets/textures/...、assets/audio/...等等,这些使用的都是std::string()来存、比较、查找, 阅读全文
posted @ 2026-03-24 19:12 wenyiGamecpp 阅读(4) 评论(0) 推荐(0)