综合讨论组

创建于:2016-06-18

创建人: indienova

1372 信息 3829 成员
这是一个可以畅所欲言的小组

假设角色碰到一个攻击力提升15%,持续30s的buff,这个buff是如何实现的

bailt 2022-09-09

假设场景为第三人称3D游戏,你控制角色碰到一个盒子,盒子显示的是当碰到后,攻击力提升15%,持续30秒,这个功能需要如何实现,buff不只是一种,可能心血来潮搞了很多

近期喜欢的会员

 
阿客 2022-09-09

可以抽象成一个计时器,添加该计时器的时候,修改某个属性,计时器结束的时候撤销修改。

 
空形体 2022-09-09

不是的,一开始就要设计好计算公式,例:血量=基础血量*血量倍率buff效果类型总效果值+最大血量buff效果值,然后你的每次需要更新血量时,你根据取出你当前的buff效果值,通过公式计算出来,而当你的buff效果消失时,buff效果值也是没得了,也就不会计算出来了,这种请不要直接去更改属性,除非是比如持续回血这种

 
方程 2022-09-12

空形体 对啊,如果玩家卡了bug,“计时器结束”这个事件过去了但“撤销修改”没有顺利运作,buff就变成无法撤销无法追踪的永久的数值修改了。

 
bailt 2022-09-16

空形体 当存在多个攻击力提升的相同的buff、应该如何做呢?攻击=基础攻击力+buff,buff=buff1+buff2

 

加入 indienova

  • 建立个人/工作室档案
  • 建立开发中的游戏档案
  • 关注个人/工作室动态
  • 寻找合作伙伴共同开发
  • 寻求线上发行
  • 更多服务……
登录/注册