news 2026/8/7 23:12:16

Netcode for GameObjects Boss Room 多人RPG战斗(20)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Netcode for GameObjects Boss Room 多人RPG战斗(20)

ConcreteActions

1. 动作类型与分类

ConcreteActions目录包含了游戏中所有具体的动作实现,这些动作可以分为以下几类:

动作类型代表实现核心特点
物理攻击MeleeAction基于物理检测的近战攻击,需要碰撞检测
投射物攻击LaunchProjectileAction, ChargedLaunchProjectileAction生成物理投射物,有飞行轨迹和碰撞效果
范围攻击AOEAction基于指定位置和半径的区域攻击
移动与追逐ChaseAction, DashAttackAction控制角色移动和位置调整
状态变化StealthModeAction, ChargedShieldAction改变角色状态或提供持续效果
交互动作ReviveAction, PickUpAction, DropAction与其他角色或物体的交互
情绪与表达EmoteAction角色情绪表达或非战斗动作

2. 共同实现模式

所有具体动作都继承自Action基类,并遵循相似的实现模式:

2.1 动作生命周期管理

每个动作都实现了完整的生命周期方法:

// 动作启动publicoverrideboolOnStart(ServerCharacterserverCharacter){/* ... */}// 动作更新publicoverrideboolOnUpdate(ServerCharacterclientCharacter){/* ... */}// 动作重置publicoverridevoidReset(){/* ... */}// 动作取消publicoverridevoidCancel(ServerCharacterserverCharacter){/* ... */}// 客户端特定方法publicoverrideboolOnStartClient(ClientCharacterclientCharacter){/* ... */}publicoverrideboolOnUpdateClient(ClientCharacterclientCharacter){/* ... */}publicoverridevoidCancelClient(ClientCharacterclientCharacter){/* ... */}

2.2 执行时间控制

所有动作都使用TimeRunningTime.time - TimeStarted来控制执行时间:

if(TimeRunning>=Config.ExecTimeSeconds&&!m_ExecFired){// 执行动作核心逻辑m_ExecFired=true;PerformAction();}

2.3 状态管理

每个动作都维护自己的状态变量,如执行标志、目标引用等:

privateboolm_ExecFired;privateNetworkObjectm_Target;privateList<SpecialFXGraphic
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/6 22:00:54

深度学习优化器算法巧思速览

1. 为什么要研究优化器算法&#xff1f;它的关联问题&#xff1a;训练为什么要调参&#xff0c;调的是什么参&#xff1f;如果就这个问题去问各种大语言模型&#xff0c;它们能给出一堆的理由。但就博主而言&#xff0c;答案只有一个&#xff1a;干掉调参&#xff0c;解放生产力…

作者头像 李华
网站建设 2026/8/6 17:37:44

macOS上优雅运行Docker容器

什么是colimacolima主页Colima&#xff08;Container on Lima&#xff09;是一个轻量级的容器运行时管理工具&#xff0c;专为macOS&#xff08;同时也支持Linux&#xff09;设计&#xff0c;提供了一种简单优雅的方式来运行容器。它基于Lima项目&#xff0c;后者为macOS提供了…

作者头像 李华
网站建设 2026/8/6 23:35:00

XXL-JOB分布式任务调度

1.什么是任务调度 简单说&#xff1a;按照指定的规则&#xff08;时间、频率、条件&#xff09;自动执行某个任务&#xff0c;不需要人工手动触发。比如&#xff1a; 每天凌晨 2 点执行数据备份&#xff1b;每 5 分钟检查一次接口可用性&#xff1b;订单支付超时&#xff08;30…

作者头像 李华
网站建设 2026/8/7 18:58:48

MYSQL与B+树与索引相关面试题

第一题&#xff08;基础&#xff09;&#xff1a;请简述 MySQL 中索引底层为什么选择 B 树&#xff0c;而不是 B 树、红黑树等其他数据结构&#xff1f;第二题&#xff08;基础进阶&#xff09;&#xff1a;MySQL 中聚簇索引和非聚簇索引的区别是什么&#xff1f;它们的叶子节…

作者头像 李华
网站建设 2026/8/7 11:38:23

PostgreSQL pgvector扩展Windows环境完整安装指南

PostgreSQL pgvector扩展Windows环境完整安装指南 【免费下载链接】pgvector Open-source vector similarity search for Postgres 项目地址: https://gitcode.com/GitHub_Trending/pg/pgvector 在人工智能应用日益普及的今天&#xff0c;向量相似性搜索已成为现代数据库…

作者头像 李华
网站建设 2026/8/7 20:47:46

Steam游戏挂机神器:3分钟学会自动刷时长和交易卡

还在为Steam游戏时间不足而苦恼&#xff1f;想要轻松收集交易卡却不想整天开着游戏&#xff1f;HourBoostr和SingleBoostr这两款开源工具将彻底改变你的游戏挂机体验&#xff0c;让你在不实际运行游戏的情况下安全增加游戏时间&#xff0c;大大提升效率。 【免费下载链接】Hour…

作者头像 李华