<select>框一直无法自定义样式,而且在IE6下,它是一直处于最顶层,造成了使用层时,无法盖住它。
因此,我写了这个组件,可以有效地处理这些问题。而使用时,就与平时使用<select>的方式一样,只需最后在页面上加载初始化方法即可。
» 阅读全文
Submitted by 有空来玩玩 on 2009, May 22, 10:17 AM
<select>框一直无法自定义样式,而且在IE6下,它是一直处于最顶层,造成了使用层时,无法盖住它。
因此,我写了这个组件,可以有效地处理这些问题。而使用时,就与平时使用<select>的方式一样,只需最后在页面上加载初始化方法即可。
» 阅读全文
Submitted by 有空来玩玩 on 2009, May 12, 12:11 PM
webgame的RPG战斗系统主要采用回放制进行,所以,我们所有的运算均是在服务端进行的。
一般来说,战斗主要包括了攻击、防御、效果等等要素,我们这里只讨论对用效果要素的问题。
效果按时间分为当时生效型、持久生效型。
对于当时生效型,也即是说,使用了该技能后,该技能的附加效果只作用于当时,之后不会再有效果。
而对于持久生效型的技能,则会一直持续作用下去,直到效果消失。
为了记录这个效果,我们设计了以下的用于记录效果的数据结构:
类型、优先级、效果数值、效果结束的时间数值
我们来讨论下设置的原因:
类型:用于表述当前是哪种效果,比如,是否是攻击加强,是否是定身,是否是防御加强等等。
优先级:用于表述当前效果的优先顺序,后发的同类型效果,如果优先级不如之前的效果,则不会生效;如果大于或等于之前的效果的优先级,则会覆盖之前的效果。
效果数值:用于表述效果所产生的最大的该效果的数值,如增加多少攻击,增加多少防御等等。
效果结束时间数值:当时间数值大于该值后,该效果失效。并删除此条效果记录。
======================================
在这里。我们说说时间数值,为什么这里我们称为时间数值,因为它既可以用于表示回合数,也可以用于表示时间(如0.1秒),这样可以很容易地把一套战斗系统用于多种方式。
======================================
关于技能的CD时间的数据结构:
技能类型、CD时间(下一次技能发动时间)
说明:
之所以加上技能类型,这样是为了方便地进行一组同类型的技能共用一个CD时间。CD时间其实就是我们时间数值,只有当当前时间数值大于等于该值后,该类型的技能才能被再次发动。
也就是说,我们在设计技能系统时,就需要给每一个技能分配一个技能类型,以用于查询该技能是否可以发动。