这可能是一个noob问题,但我只是不明白这一点。
我想实现我的游戏A *寻路。 我下面这个教程 ,并在代码AstarPathfinder.java
。 但是,而不是实例化AStarPathfinder类和具有二维数组的所有Nodes
我做了一个静态方法,而我通过我的二维数组(水平/世界),开始和结束节点。 这个原因我总是要存储当前和下一个Node
一个Node next
和Node current
。 我然后将它们添加到打开或关闭列表(取决于它们属于哪里)和改变的x和y的值(位置) Node
与他们的setter方法,有下一个节点。
调试运行的几分钟后,我注意到,这(OFC)也改变了内部节点的值openList
和closedList
。 为了防止这种情况,我可以简单地叫next = new Node(int x, int y)
,而不是只设置值,但由于我的寻路运行每隔数渲染它会搞砸了垃圾收集循环和耗费了大量的性能。 所以我期待了有可能有一个Node
的变量,我可以用默认的构造函数实例化一次,然后在没有列表改变其值改变它的值。
这有可能以某种方式?