比如
//数值常量public static final int EMPTY=0;//空地什么也没有
public static final int BRICK=1;//土墙
public static final int STONE=2;//石头
public static final int SEA=3;//海洋
public static final int GREENS=4;//草地
public static final int SNOW=5;//雪地
//对应的
public static final Image IMG_STONE=new ImageIcon(MapValuesclassgetResource("/resource/imgs/stonepng"))getImage();//石头
那么保存一副地图就可以用类似于下面的二维数组表示
002405100145111123
132131001
使用的时候, 加载二维数组,然后把对应的显示在地图上就可以了
不过这样做也存在一定的问题
1:太多,对应的数字太多, 那么地图编辑起来很麻烦, 需要有强大的记忆力,和想象力
2:不能一边编辑,一边就显示出效果来, 出错后,排查麻烦 效率太低
所以,我们还需要写点代码,做一个简单的地图编辑器,添加辅助线,擦除工具等, 这样的话, 编辑地图就非常方便了,所见即所得并且一键可以保存为地图数据(二维数组)
学习swing的时候,写过一个简单的地图编辑器,效果图如下
为了熟悉不同的图形界面API, 游戏界面使用的不是swing,而是JavaFX
获取到两点的经纬度,再调用百度地图的api计算。我记得,有一个计算距离的api
<script type="text/javascript">// 百度地图API功能
var map = new BMapMap("allmap");
mapcenterAndZoom("重庆",12); //初始化地图,设置城市和地图级别。
var pointA = new BMapPoint(106486654,29490295); // 创建点坐标A--大渡口区
var pointB = new BMapPoint(106581515,29615467); // 创建点坐标B--江北区
alert('从大渡口区到江北区的距离是:'+(mapgetDistance(pointA,pointB))toFixed(2)+' 米。'); //获取两点距离,保留小数点后两位
var polyline = new BMapPolyline([pointA,pointB], {strokeColor:"blue", strokeWeight:6, strokeOpacity:05}); //定义折线
mapaddOverlay(polyline); //添加折线到地图上
</script>
一、申请密钥
1、先用eclipse创建一个Android工程
2、在百度api官网上申请一个密钥,链接:>
以上就是关于求教贴,Java桌面小游戏的地图怎么做全部的内容,包括:求教贴,Java桌面小游戏的地图怎么做、如何使用java和百度地图api 得到两点之间的路程(驾车行驶距离)、百度地图api java怎么用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)