【发布时间】:2011-03-26 11:53:14
【问题描述】:
作为我第四年软件工程学位的一部分,我正在做一个寻路项目。 我们假设为一堆多智能体寻路算法提供视觉表示。最简单的是适用于多智能体的 A*。
无论如何,我们的环境是一个网格图,其中每个单元格都可以被阻止或用作代理路径的一部分。我想要做的是使用动画来很好地表示代理的最终移动,但在我的网格中动画颜色变化。 即用某种颜色在路径中的每一步画上一秒钟左右,以显示代理如何移动。
我想做的另一件事是通过在 A* 算法的开放列表和封闭列表中绘制变化来表示算法的工作方式,同时它进行计算。
我正在使用观察者设计模式的改编版本将事件从我的算法层发送到我的控制器和 GUI 层。 我想要在 GUI 层中做的是每次将图块添加到打开列表时,我希望将该单元格绘制成某种颜色,然后根据预定义的计时器让它消失,或者稍后添加一个滑块来控制这个计时器。
我查看了code here。看起来很简单,问题是每个瓦片动画都必须独立于其他动画,以允许算法和所有内容继续运行并启动不同的动画。
那么,实现我正在寻找的结果的最佳方法是什么?我应该为每个动画打开一个不同的线程还是为每个单元格设置一个预制线程? 这对应用程序来说是不是有点过头了,因为最多可以有 1000 个单元格,因此有接近 1000 个线程执行动画。
我想我可能会遇到的另一个问题是,一个单元格可能会开始其褪色动画,然后必须重新启动,我不希望这两个动画同时播放(只有一个线程同时为同一个单元格执行动画)。
如果有人有任何想法或认为它真的可以帮助我完成我的项目,我希望我对我想要实现的目标足够清楚。
【问题讨论】:
-
“我希望我对我想要达到的目标足够清楚,..” 直到现在经过 10 分钟的编辑,我什至可以理解你发布的那些乱七八糟的信件。所以不行。技术学位四年级的人应该能够找到他们的 shift 键并在每个句子的开头应用一次,并且每次使用“I”这个词。使用像 wanna 这样的俚语也无济于事。这些是国际论坛,很多人不会理解这个词。那些这样做的人会认为你很傻,不值得他们的关注和时间。请多加注意。
标签: java swing animation grid artificial-intelligence