建造功能
- 建造功能是一种允许玩家操作一个单位,通过建造技能在指定位置创建另一单位的功能机制
- 开发者可以指定建造的目标单位,设置建造所需消耗的资源、建造方式、建造时长等参数。
开发者流程
- 【第一步】配置建造对象
- 创建一个建筑
- 设置建造属性
- 在物编-数据-固定属性页签中,可以找到建造相关配置属性:
- 建造时间
- 可以设置该建筑单位被建造时所需的时间,单位为秒
- 如果建造技能中配置的建造方式是“立即完成”,则该时间无效
- 资源消耗
- 可以设置该建筑单位被建造时所需消耗的玩家资源
- 建造时忽略动态碰撞
- 勾选后,该建筑在建造时将不会检测自身与其他单位的动态碰撞(英雄/生物类型单位的碰撞)。
- 该选项用于在防守类玩法中制作陷阱类建筑。
- 建造时间
- 【第二步】配置建造技能
- 创建技能
- 设置技能属性
- 属性位置:
- 修改技能施放类型为:建造技能
- 设置技能参数:
- 建造方式:
- 立即完成
- 没有建造过程的建造方式,建筑在技能施放后立刻创建
- 建造师进入建造
- 有建造过程的建造方式,建筑在技能施放后会处于10%生命值状态,并在建造时间后完成建造
- 建造过程中,建造师会隐藏
- 建筑自动建造
- 有建造过程的建造方式,建筑在技能施放后会处于10%生命值状态,并在建造时间后完成建造
- 建造过程中,建造师不需要在附近,可自由移动;建筑会自动随时间流逝完成建造
- 建造师转化为建筑
- 有建造过程的建造方式,建筑在技能施放后会处于10%生命值状态,并在建造时间后完成建造
- 建造过程中,建造师会隐藏,并在建造完成时死亡
- 立即完成
- 建造单位:
- 设置当前技能的建造目标单位,仅可选择一个
- 建造角度
- 设置建造单位的角度,单位为度(0-360°)
- 属性位置:
- 【第三步】编写界面逻辑(可选) 建造进度显示逻辑:
可通过接口:“建造-获取建造进度”,查询单位的建造进度。如果等于1,则表示未处于建造状态
获取数值后,可通过进度条展示建造进度
参考代码如下:
参考效果:
取消建造逻辑
可通过接口:“建造-取消单位建造”,取消单位的建造。
参考代码如下:
【可选】其他接口逻辑
暂停/加速建造
可以使用接口:“建造 – 设置建造速率” 来修改建造的速率
默认值为1,修改为0则会暂停建造,修改为大于1的数值,则会加速建造。
玩家流程
点击建造技能 → 拖出建造指示器 → 摆放建筑 → 进行建造
实战案例
- war3亡灵族/星际争霸神族建造模式
- 将建造技能的建造方式设置为:建筑自动建造
- 监听 单位-任意单位事件,选择 建造开始 ,播放建造过程动画
- 监听 单位-任意单位事件,选择 建造完成 ,播放建造完成动画
2. war3兽族/war3精灵族非古树建造模式
- 将建造技能的建造方式设置为:建造师进入建造
- 监听 单位-任意单位事件,选择 建造开始 ,播放建造过程动画
- 监听 单位-任意单位事件,选择 建造完成 ,播放建造完成动画
- war3精灵族古树/星际争霸虫族建造模式
- 将建造技能的建造方式设置为:建造师转化为建筑
- 监听 单位-任意单位事件,选择 建造开始 ,播放建造过程动画
- 监听 单位-任意单位事件,选择 建造完成 ,播放建造完成动画
- 兽人必须死中的陷阱
- 将单位的建造时忽略动态碰撞属性设置为true,即可直接建造在敌方脚下
移动建筑实现方法
实现思路简述
- 移动建筑技能仅需在建造师(主角)身上配置一个专用的隐藏技能
- 在界面上仅需以按钮或图标形式放置,并监听其点击事件
- 触发点击后,
- 通过接口“建造 - 设置建造技能的建造单位”将移动建筑技能的建造对象修改为当前准备移动的单位的单位类型
- 使用接口“技能 - 开启技能指示器”向触发事件的玩家展示建造技能指示器 3. 此时需要将可选参数“仅模拟”设置为true,“建造技能忽略单位”设置为 当前准备移动的单位
- 监听“建造技能施放前”事件
- 如果当前建造技能为移动建筑技能,则将 当前准备移动的单位 移动至 技能选取的目标点
触发器逻辑参考
效果示意:
建筑升级功能使用说明
功能简述
- 建筑升级功能提供了一种将指定建筑单位转换为另一建筑单位的方式
- 开发者可以设定升级所需的资源消耗、升级时间等,并在可在升级过程中加速/暂停/取消升级
开发者流程
-
【第一步】配置游戏规则
- 在游戏主界面顶部菜单栏,“细节”-“游戏规则”-“单位相关”中,可以配置以下参数:
- 取消升级时资源返还比例
- 配置玩家在取消升级时,根据升级时扣除的资源,返还多少比例。
- 系统会在触发建筑升级取消时,自动返还资源。
- 如需全额返还,则配置为1;如不返还或需要自定义逻辑返还,则配置为0
- 本属性默认为0.75,及取消升级时会损失25%的资源消耗;如果需要自定义返还逻辑,建议配置为0,并监听建筑升级取消事件,自己做逻辑返还。
- 根据受伤比例降低升级取消返还的资源
- 配置单位在升级过程中如果受到伤害,在取消升级时,是否需要额外降低返还比例
- 如果勾选,则实际返还比例 = 取消升级时资源返还比例 * ( 生命上限 - 升级期间受到的伤害 ) / 生命上限 ;如果不勾选,则返还比例不修改
- 本属性默认关闭,且在没有特殊需求的情况下,不需要开启
- 建筑升级时使用建造消耗的差值
- 配置单位的升级消耗,是直接读取建造消耗,还是根据原建筑和新建筑的建造消耗做差值计算
- 该开关默认开启
- 如果游戏中,需要控制某个建筑类型,在通过任意方式升级/建造时,都需要消耗总数固定的资源时,建议开启本开关,并在每个单位的建造消耗属性中配置该单位所需的总资源数量(需要开发者提前计算好总价格进行配置)
- 例如一个单位B无论从哪种方式创建,都需要消耗800金币,则开启该开关,并配置其建造消耗为800金币。
- 此时,当单位从消耗200金币的另一单位A升级至单位B时,会再次消耗800-200=600金币,保证总开销仍然=800金币。
- 若玩家直接建造单位B,也会消耗800金币。
- 若游戏中所有单位的建造/升级消耗是固定,不会出现即可以建造又可以升级获得,或者即便出现该情况,单次操作消耗的资源是一致的,可以关闭该开关,并在每个单位上配置该单位的建造/升级单价(不需要计算总价了)
- 例如一个单位B仅可以从A进行升级获得,需要消耗200金币,则可以关闭本开关,并配置单位B的建造消耗为200金币。
-
【第二步】配置物编单位
- 创建一个建筑
- 设置建造属性
- 在物编-数据-固定属性页签中,可以找到建造相关配置属性:
- 建造时间
- 可以设置该建筑单位被建造时所需的时间,单位为秒
- 如果建造技能中配置的建造方式是“立即完成”,则该时间无效
- 资源消耗
- 可以设置该建筑单位被建造时所需消耗的玩家资源
- 建造时间
- 创建一个建筑
-
【第三步】编写界面逻辑(可选)
- 建筑升级进度显示逻辑:
- 可通过接口:“单位-获取建筑升级进度”,查询单位的建筑升级进度。如果等于1,则表示未处于建筑升级状态
- 获取数值后,可通过进度条展示建筑升级进度
- 参考代码如下:
- 参考效果:
- 取消建筑升级逻辑
- 可通过接口:“单位-取消建筑升级”,取消单位的建造。
- 建筑升级进度显示逻辑:
-
【可选】其他接口逻辑
- 暂停/加速建造
- 可以使用接口:“单位 – 设置建筑升级速率” 来修改建筑升级的速率
- 默认值为1,修改为0则会暂停建筑升级,修改为大于1的数值,则会加速升级。
- 设置建筑升级进度/立即完成升级
- 可以使用接口:“单位 – 设置建筑升级进度” 来修改建筑升级的进度
- 例如实现在受到攻击时扣除进度,或者消耗资源立刻增加进度的逻辑
- 如果需要立即完成升级,可以直接将建筑升级进度设置为1
- 暂停/加速建造