Slick2d,独立怪物运动

时间:2013-10-26 01:26:45

标签: java slick2d

我正在使用slick2d创建一种像RPG这样的开放世界流氓。我想知道我可以使用什么方法在多个房间中移动和动画多个怪物,而我正在从一个房间走到另一个房间做任何事情。我有一个方法,但我觉得它非常低效,甚至无法正常工作。 (涉及一个常量for循环,处理怪物运动x和y,并且在同时制作动画时遇到麻烦)

任何帮助将不胜感激,谢谢。我只是用文字来询问这个方法,但任何代码片段作为伪代码或小内脏都会对EXTREMLEY有用。

1 个答案:

答案 0 :(得分:0)

保留一个“活跃”的怪物列表 - 足够可能可见或活跃在视线之外 - 与世界上更远的“悬浮”怪物不同。

当玩家穿过“粗网格”边界(比如每64-128像素或其他任何区域)时,更新“活动”列表。玩家现在接近的怪物将进入活动列表,玩家留下的怪物将离开活动列表。

“Hibernating”怪物可能会被“粗网格”位置存储为地图或多图。

这样的算法可以让你保持动画效果。怪物计算是合理的,限制在当地的怪物,同时在一个悬浮状态的大世界中保留怪物。

当玩家真正再次看到怪物时,它应该有一些机会活跃于“看不见”,移动,与其他怪物战斗等等 - 从而给人一直活跃的外观。

为了让怪物能够“潜行”并从背后出现在玩家身上,你可以将“活动范围”设置为玩家可见距离的至少2.5倍,也许更多。这一点,结合各种寻路算法,包括偷偷摸摸(远离玩家视线),可以帮助他们真正挑战对手。

相关问题