我想大概你没怎么明白我的意思,总结下 你考虑的问题是敌人过多的时候,计算起来比较卡的问题。 我觉得可以循环处理,一个敌人AI判定完成后在判定下一个,打需要10帧,5个也就2.5秒处理间隔而已。 这个说细了内容就很多,讲的艰难。说几个抛砖引玉吧: 我做的时候有敌人呆滞问题,比如敌人超过50个,一个事件处理时间太长,敌人就呆在那等半天。 我就增加2个公共事件穿插在敌人处理事件中(敌人全局AI) 1,是把敌人编组,每一组由一个并行处理事件处理。 由于敌人随机的,所以还需要2来保证分配组的合理性。 2,是把所有敌人分配一个攻击序列,一个组中,序列号最大者,处理事件该目标的事件,这个序列分配很复杂,有浮动序列和固定序列, 固定序列负责分组,浮动序列负责攻击先后。 固定序列是按生成敌人时,随机分配的技能所决定,这个分组很有技巧的,我一时也说不完,大致就是把激活的敌人按数量比如10个敌人为一组,组先各分一个最大的数值,在分一个最小的数值,在分最大,在分最小…………,这样到最后,每组都为从高到低的排列了,好处是不会出现速度快的挤在一个组里,而是攻击快的攻击慢的都分在一个组里,相互穿插。这个处理也就1帧,而且是在激活一个敌人或则死亡一个敌人后处理,所以不费处理事件。 浮动就是像英雄无敌5那样排列方法,每处理完一个敌人后,则会按照固定序列增加相应数值,序列最大的优先处理,还可以根据和角色的距离,等来分配浮动序列。。。 当时我做的时候,敌人还会持续施法等,还可以被中毒减速等状态,也能够狠好的运行。 做出大菠萝那样的智能,绝对可以的。 |
本帖最后由 九夜神尊 于 2010-10-27 21:07 编辑 回复 五彩西瓜 的帖子 Statu Object → soul 灵魂 SOU系统不会使用任何开关以及变量,事件操作。全脚本! 可以自由创建事件,消除事件,动画播放器,带有攻击属性的物品(攻击器)。 只要需要产生伤害就必须创建一个攻击器,攻击器有自己的移动方式,攻击频率,攻击范围,攻击次数,生命时长 以及前前后后的一切,一个技能可能创建N个攻击器,每个攻击器同样可以再产生攻击器。攻击器的属性 和chartaire相同,可以移动,受阻,穿透也可以寻路。同样可以播放动画。 由于太灵活,所以使用起来只有会脚本的人才能写出来。 对于 Game_Event Game_Player Game_Companion(同伴) 采用同样的处理方式。 除了技能的制作,别的东西都要搬到RM的界面里。让即使不懂脚本的人也能使用! PS。我再仔细看看你的骷髅法师。 |
站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作
GMT+8, 2024-11-25 09:38
Powered by Discuz! X3.1
© 2001-2013 Comsenz Inc.