Java[伪]寻径追踪实现(由Loonframework提供)
2007-10-19 09:52
239 查看
我们都知道,在诸如魔兽的很多战略游戏中,会出现要求某A角色接近某B角色的情况(攻击或是怎么着咱不考虑……),玩家很简单的一步操作,却会引发开发者“怎么走过去”这个“复杂”的算法问题,也就是所谓的“Path-finding”——寻径。
好的寻径算法,不但能避免不必要的资源损耗,而且能令游戏友好度增加。反之则会严重影响游戏的可玩性或诸如GIS等系统的可靠性。
在本次,我以Java为例,演示一个最简单的寻径系统——甚至可以说是伪寻径系统的实现。 (^^)
首先,我们建立一个追踪者(一说到这里我就想起了生化里的掠食者……)
package org.test.tracker;
import java.awt.Color;
import java.awt.Graphics;
而后,我们建立一个被追踪的目标。
package org.test.tracker;
import java.awt.Color;
import java.awt.Graphics;
最后,我们建立一个面板,用以绘制图形。
package org.test.tracker;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Panel;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.image.BufferedImage;
这时,画面上显示的红色正方体为追踪者,蓝色圆球为被追踪目标,而无论篮球如何移动,红色正方体都将始终向篮球靠拢。
实际上,通过代码我们就可以知道,这时两者间的移动路径,被没有经过复杂的方法演算,而是以目标的坐标来决定的,颇有独孤九剑那种,敌人若是只有一招,我也只有一招,他若是有千招万招,我也自是千招万招。但是,这种方法在实际的寻径处理中,并不能很好的解决如障碍物,区域转换等问题,所以只是一种[伪]寻径,
或者说是在无障碍情况下的简单解决方案。
如果关注寻径算法在Java中的进一步实现,还请继续关注我的blog……
好的寻径算法,不但能避免不必要的资源损耗,而且能令游戏友好度增加。反之则会严重影响游戏的可玩性或诸如GIS等系统的可靠性。
在本次,我以Java为例,演示一个最简单的寻径系统——甚至可以说是伪寻径系统的实现。 (^^)
首先,我们建立一个追踪者(一说到这里我就想起了生化里的掠食者……)
package org.test.tracker;
import java.awt.Color;
import java.awt.Graphics;
而后,我们建立一个被追踪的目标。
package org.test.tracker;
import java.awt.Color;
import java.awt.Graphics;
最后,我们建立一个面板,用以绘制图形。
package org.test.tracker;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Panel;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.image.BufferedImage;
这时,画面上显示的红色正方体为追踪者,蓝色圆球为被追踪目标,而无论篮球如何移动,红色正方体都将始终向篮球靠拢。
实际上,通过代码我们就可以知道,这时两者间的移动路径,被没有经过复杂的方法演算,而是以目标的坐标来决定的,颇有独孤九剑那种,敌人若是只有一招,我也只有一招,他若是有千招万招,我也自是千招万招。但是,这种方法在实际的寻径处理中,并不能很好的解决如障碍物,区域转换等问题,所以只是一种[伪]寻径,
或者说是在无障碍情况下的简单解决方案。
如果关注寻径算法在Java中的进一步实现,还请继续关注我的blog……
相关文章推荐
- Java[伪]寻径追踪实现(由Loonframework提供)
- Java[伪]寻径追踪实现(由Loonframework提供)
- Java微信公众平台开发(九)——关键字回复以及客服接口实现(该公众号暂时无法提供服务解决方案)
- android利用Context提供的方法实现java映射
- Java实现爬虫给App提供数据(Jsoup 网络爬虫)
- 关于Android提供的Animation动画Java语言的实现
- 一个java 验证码的实现提供多种的实现
- Java实现爬虫给App提供数据(Jsoup 网络爬虫)
- java spring为ApplicationContext提供有三种实现(dubbo-consumer.xml)
- Java实现爬虫给App提供数据(Jsoup 网络爬虫)
- java 中提供的默认的快速排序的实现
- Java实现Lagan法射线追踪(lagan.java)
- java 实现将图片低端,添加文字.并压缩打包,提供给前端下载到本地.
- Java实现爬虫给App提供数据(Jsoup 网络爬虫)
- javaniu用户头像如何实现的啊,能否提供一份代码呢
- java提供类与cglib包实现动态代理
- 用Java调用中国网建提供的SMS短信平台接口实现向移动端发送短信
- 对比.net使用Java的匿名类对工厂方法模式提供更优雅的实现
- java 中提供的默认的快速排序的实现
- 使用java提供的Observable,实现观察者模式