做一个java的地图页面(我的世界java怎么做地图)

今天给各位分享做一个java的地图页面的知识,其中也会对我的世界java怎么做地图进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

1、我想用java做一个地图应用,怎么入手?想用geogle map api,不是网页版,把html嵌入到窗体中。2、用java编写一个学校地图3、求教贴,Java桌面小游戏的地图怎么做4、如何做一个简单的java地图编辑器5、如何使用java 开发百度地图6、求一个java写的地图程序

我想用java做一个地图应用,怎么入手?想用geogle map api,不是网页版,把html嵌入到窗体中。

java Swing 对 显示html 支持本来就不好。 更可况 你的页面需要支持javascript 和css 。

用java编写一个学校地图

import javax.swing.icon;

import javax.swing.jbutton;

public class mapbutton extends jbutton {

public mapbutton() {

super();

}

public mapbutton(string arg0) {

super(arg0);

}

public mapbutton(action arg0) {

super(arg0);

}

public mapbutton(icon arg0) {

super(arg0);

}

public mapbutton(string arg0, icon arg1) {

super(arg0, arg1);

}

public byte width, height;

//public pic_w, pic_y;

public void setbuttontitle(byte w, byte h) {

width = w;

height = h;

}

public void setbuttontitle(byte w){

width =w;

}

public byte getbuttonwidth() {

return width;

}

public byte getbuttonheight() {

return height;

}

}

pic:自己写的mappic类的intance:

以下内容为程序代码:

package com.nenghe.mapeditor;

import javax.swing.imageicon;

public class mappic {

imageicon[] baseimages;

imageicon[] itemimages;

imageicon image1;

public mappic() {

init();

}

public void init() {

baseimages = new imageicon[9];

baseimages[0] = new imageicon(mappic.class.getresource(“m1.png”

做一个java的地图页面(我的世界java怎么做地图)

/images/wink.gif[/img]);

baseimages[1] = new imageicon(mappic.class.getresource(“m2.png”

做一个java的地图页面(我的世界java怎么做地图)

/images/wink.gif[/img]);

baseimages[2] = new imageicon(mappic.class.getresource(“m3.png”

做一个java的地图页面(我的世界java怎么做地图)

/images/wink.gif[/img]);

baseimages[3] = new imageicon(mappic.class.getresource(“m4.png”

做一个java的地图页面(我的世界java怎么做地图)

/images/wink.gif[/img]);

baseimages[4] = new imageicon(mappic.class.getresource(“m5.png”

做一个java的地图页面(我的世界java怎么做地图)

/images/wink.gif[/img]);

baseimages[5] = new imageicon(mappic.class.getresource(“m6.png”

做一个java的地图页面(我的世界java怎么做地图)

/images/wink.gif[/img]);

baseimages[6] = new imageicon(mappic.class.getresource(“m7.png”

做一个java的地图页面(我的世界java怎么做地图)

/images/wink.gif[/img]);

baseimages[7] = new imageicon(mappic.class.getresource(“m8.png”

做一个java的地图页面(我的世界java怎么做地图)

/images/wink.gif[/img]);

baseimages[8] = new imageicon(mappic.class.getresource(“m9.png”

做一个java的地图页面(我的世界java怎么做地图)

/images/wink.gif[/img]);

itemimages = new imageicon[3];

itemimages[0] = new imageicon(mappic.class.getresource(“error.png”

做一个java的地图页面(我的世界java怎么做地图)

/images/wink.gif[/img]);

itemimages[1] = new imageicon(mappic.class.getresource(“i1.png”

做一个java的地图页面(我的世界java怎么做地图)

/images/wink.gif[/img]);

itemimages[2] = new imageicon(mappic.class.getresource(“i2.png”

做一个java的地图页面(我的世界java怎么做地图)

/images/wink.gif[/img]);

}

public imageicon getimageicon(int x, int flags) {

if (flags == 0) {

return baseimages[x];

} else if (flags == 1) {

return itemimages[x];

}

return null;

}

}

求教贴,Java桌面小游戏的地图怎么做

小游戏地图一般都是各种图片的拼接,然后保存到2维数组里面

比如

//数值常量

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(MapValues.class.getResource(“/resource/imgs/stone.png”)).getImage();//石头图片

……

那么保存一副地图就可以用类似于下面的二维数组表示

002405100

145111123

132131001

使用的时候, 加载二维数组,然后把对应的图片显示在地图上就可以了.

不过这样做也存在一定的问题.

1:图片太多,对应的数字太多, 那么地图编辑起来很麻烦, 需要有强大的记忆力,和想象力

2:不能一边编辑,一边就显示出效果来, 出错后,排查麻烦. 效率太低

所以,我们还需要写点代码,做一个简单的地图编辑器,添加辅助线,擦除工具等, 这样的话, 编辑地图就非常方便了,所见即所得.并且一键可以保存为地图数据(二维数组)

学习swing的时候,写过一个简单的地图编辑器,效果图如下

为了熟悉不同的图形界面API, 游戏界面使用的不是swing,而是JavaFX

如何做一个简单的java地图编辑器

地图编辑器思路如下:

这个小地图是3×3的,我们用汉字对它进行描述:

石头 空白 雪地

空白 砖墙 空白

水面 空白 草地

这像什么? 像不像二维数组.! 所以我们可以使用二维数组来存储一副地图.

当然了使用汉字来描述地图, 还是太麻烦…

我们使用数字来存储更好.把数字和对应的图片做好一一对应的关系.比如0代表空白 1代表石头 … 绘制地图的时候,循环二维数组,如果是1就在此处画石头,循环到0就什么也不画直接跳过..

拓展,如果还想有稍微立体点的效果, 就是比如有薄雾什么的, 那么你可以建立另外一个天气图层的二维数组, 这个数组就是绘制薄雾等天气的, 这个要最后绘制, 这样才能起到薄雾对下面地图的遮挡..

编辑地图的时候 ,先点击一个图片,表示等下需要绘制的图片是哪一个.然后在编辑地图的时候按下鼠标代表开始开始绘制, 然后鼠标拖动到哪里就绘制到哪里, 最后松开鼠标松开, 完成绘制

地图的保存: 二维数组可以直接把每个元素写入到文本文件里, 当然了也可以直接把整个二维数组对象都写入到文件里,使用的时候,直接读取还原即可

做一个java的地图页面(我的世界java怎么做地图)

如何使用java 开发百度地图

百度有提供api的,一般是按照api给的网址,在网址后加经纬度或者地区名,但是百度地图要申请秘钥的,这个需要自己去申请一个,免费的,类似的功能你可以参考下面的源码虽然是javascript的,但是java用起来差不多,毕竟你的地图肯定是在web页面显示的

!DOCTYPE html  

html  

head  

meta name=”viewport” content=”initial-scale=1.0, user-scalable=no” /  

meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ /  

titleHello, World/title  

style type=”text/css”  

html{height:100%}  

body{height:100%;margin:0px;padding:0px}  

#container{height:100%}  

/style  

script type=”text/javascript” src=”;ak=您的密钥”

//v2.0版本的引用方式:src=”;ak=您的密钥”

//v1.4版本及以前版本的引用方式:src=”;key=您的密钥callback=initialize”

/script

/head  

 

body  

div id=”container”/div 

script type=”text/javascript” 

var map = new BMap.Map(“container”);          // 创建地图实例  

var point = new BMap.Point(116.404, 39.915);  // 创建点坐标  

map.centerAndZoom(point, 15);                 // 初始化地图,设置中心点坐标和地图级别  

/script  

/body  

/html

求一个java写的地图程序

用java写一个地图编辑器

记得媒体在采访c++之父的时候,他说作为程序员,要相信自己能够解决已经理解的任何事情.

换句话说:您可以解决任何问题,只要想得明白

现实问题:开发一个基于地砖的二维游戏的地图编辑器,要求生成两个binary文件,各包含一个二维数组,*.map存放地砖,花花草草什么的.*.item放道具,比如某个点可能会触发一个事件.很简单,随便写.看到这里您已经大致明白程序的整体结构.

计算机语言:java.

要理解事件必须分析

初步来看,地图编辑器:生成某种形式的若干数组,无论是哪种形式的数组,你的目的:

生成数组.地图是实际是一个(x,y)的二维坐标系,这很容易让人联系到:亦无论

我准备把设置两个程序界面(主界面/map界面),java的布局管理器不好摆弄,不如分开两个class,主界面用jbuilder自动创建的application模块(带菜单).map界面自己写,也是jframe,类之间相互传递消息,map界面将在程序开始时被初始化,也可以在程序从主界面中初始化(有问题)

构建程序

以下内容为程序代码:

basepanel.setlayout(new gridlayout(5, 5));

for (byte i = 0; i 9; i++) {

basemapbutton[i] = new

((icon) pic.getimageicon(i, 0));

basemapbutton[i].setbuttontitle(i);

basemapbutton[i].addactionlistener(buttonlistener);

basepanel.add(basemapbutton[i]);

}

itempanel.setlayout(new gridlayout(5, 5));

for (byte i = 0; i 3; i++) {

itemmapbutton[i] = new mapbutton((icon) pic.getimageicon(i, 1));

itemmapbutton[i].setbuttontitle(i);

itemmapbutton[i].addactionlistener(buttonlistener1);

itempanel.add(itemmapbutton[i]);

}

tabbedpane.addtab(“bases”, basepanel);

tabbedpane.addtab(“items”, itempanel);

contentpane.add(tabbedpane, borderlayout.center);

有两个地方要解释:

mapbutton:自己写的一个类

以下内容为程序代码:

import javax.swing.icon;

import javax.swing.jbutton;

public class mapbutton extends jbutton {

public mapbutton() {

super();

}

public mapbutton(string arg0) {

super(arg0);

}

public mapbutton(action arg0) {

super(arg0);

}

public mapbutton(icon arg0) {

super(arg0);

}

public mapbutton(string arg0, icon arg1) {

super(arg0, arg1);

}

public byte width, height;

//public pic_w, pic_y;

public void setbuttontitle(byte w, byte h) {

width = w;

height = h;

}

public void setbuttontitle(byte w){

width =w;

}

public byte getbuttonwidth() {

return width;

}

public byte getbuttonheight() {

return height;

}

}

pic:自己写的mappic类的intance:

以下内容为程序代码:

package com.nenghe.mapeditor;

import javax.swing.imageicon;

public class mappic {

imageicon[] baseimages;

imageicon[] itemimages;

imageicon image1;

public mappic() {

init();

}

public void init() {

baseimages = new imageicon[9];

baseimages[0] = new imageicon(mappic.class.getresource(“m1.png”

做一个java的地图页面(我的世界java怎么做地图)

/images/wink.gif[/img]);

baseimages[1] = new imageicon(mappic.class.getresource(“m2.png”

做一个java的地图页面(我的世界java怎么做地图)

/images/wink.gif[/img]);

baseimages[2] = new imageicon(mappic.class.getresource(“m3.png”

做一个java的地图页面(我的世界java怎么做地图)

/images/wink.gif[/img]);

baseimages[3] = new imageicon(mappic.class.getresource(“m4.png”

做一个java的地图页面(我的世界java怎么做地图)

/images/wink.gif[/img]);

baseimages[4] = new imageicon(mappic.class.getresource(“m5.png”

做一个java的地图页面(我的世界java怎么做地图)

/images/wink.gif[/img]);

baseimages[5] = new imageicon(mappic.class.getresource(“m6.png”

做一个java的地图页面(我的世界java怎么做地图)

/images/wink.gif[/img]);

baseimages[6] = new imageicon(mappic.class.getresource(“m7.png”

做一个java的地图页面(我的世界java怎么做地图)

/images/wink.gif[/img]);

baseimages[7] = new imageicon(mappic.class.getresource(“m8.png”

做一个java的地图页面(我的世界java怎么做地图)

/images/wink.gif[/img]);

baseimages[8] = new imageicon(mappic.class.getresource(“m9.png”

做一个java的地图页面(我的世界java怎么做地图)

/images/wink.gif[/img]);

itemimages = new imageicon[3];

itemimages[0] = new imageicon(mappic.class.getresource(“error.png”

做一个java的地图页面(我的世界java怎么做地图)

/images/wink.gif[/img]);

itemimages[1] = new imageicon(mappic.class.getresource(“i1.png”

做一个java的地图页面(我的世界java怎么做地图)

/images/wink.gif[/img]);

itemimages[2] = new imageicon(mappic.class.getresource(“i2.png”

做一个java的地图页面(我的世界java怎么做地图)

/images/wink.gif[/img]);

}

public imageicon getimageicon(int x, int flags) {

if (flags == 0) {

return baseimages[x];

} else if (flags == 1) {

return itemimages[x];

}

return null;

}

}

写mapbutton在于处理事件的时候可以准确的获得按钮的坐标,忘了说了,map界面中我是用按钮代替地图方格的.这是很容易想到的,最笨也是最省力的办法

pic单独写好改,什么时候内容改变了,很容易改,硬要合写没有也随便.

下面就是事件了

有两个事件要处理,第一个是按钮事件,第二个菜单事件

按钮事件我套用这样的结构

以下内容为程序代码:

actionlistener buttonlistener = new actionlistener() {

public void actionperformed(actionevent e) {

//system.out.println(e.tostring());

mapbutton pressedbutton = (mapbutton) e.getsource();

mapdraw.temp_x = pressedbutton.getbuttonwidth();

mapdraw.temp_y = 0;

//system.out.println(mapdraw.temp_x+” “+mapdraw.temp_y);

}

};

….

basemapbutton[i].addactionlistener(buttonlistener);

jbuilder中把按钮事件事件单独生成一个类,我不明白,看不懂.真的很高深.

菜单事件模型jbuilder自己加的.overwrite

以下内容为程序代码:

public void *_actionperformed(actionevent e) {…}

用两个中间值从主界面向map界面传递按了什么:

这里是map界面中的按钮的事件处理程序

以下内容为程序代码:

actionlistener buttonlistener = new actionlistener() {

public void actionperformed(actionevent e) {

mapbutton pressedbutton = (mapbutton) e.getsource();

pressedwidth = pressedbutton.getbuttonwidth();

pressedheight = pressedbutton.getbuttonheight();

if (temp_y == 0) {

if (item[pressedwidth][pressedheight] != 0) {

item[pressedwidth][pressedheight] = 0;

jfm.showmessage(“这里的道具已被置空!\nthe item has been null!”

做一个java的地图页面(我的世界java怎么做地图)

/images/wink.gif[/img];

}

map[pressedwidth][pressedheight] = temp_x;

pressedbutton.seticon((icon) pic.getimageicon(temp_x,

temp_y));

} else {

if (map[pressedwidth][pressedheight] == 0) {

jfm.showmessage(“道具不能放在这!\nnot put item at this point!”

做一个java的地图页面(我的世界java怎么做地图)

/images/wink.gif[/img];

} else {

if (temp_x == 0) {

byte value = map[pressedwidth][pressedheight];

item[pressedwidth][pressedheight] = 0;

pressedbutton.seticon((icon) pic.getimageicon(

value, 0));

} else {

pressedbutton.seticon((icon) pic.getimageicon(

temp_x, temp_y));

item[pressedwidth][pressedheight] = temp_x;

}

}

}

}

};

请问两个中间值是什么呢?一目了然哦

最后是生成map

以下内容为程序代码:

public void createmap() throws ioexception {

try {

dataoutputstream mapbinaryfile = new dataoutputstream(

new fileoutputstream(mapeditor.filename + “map”

做一个java的地图页面(我的世界java怎么做地图)

/images/wink.gif[/img]);

dataoutputstream itembinaryfile = new dataoutputstream(

new fileoutputstream(mapeditor.filename + “item”

做一个java的地图页面(我的世界java怎么做地图)

/images/wink.gif[/img]);

mapbinaryfile.writebyte(width);

mapbinaryfile.writebyte(height);

for (byte i = 0; i height; i++)

for (byte j = 0; j width; j++) {

//system.out.println(i+” “+j);

byte mapvalue = map[i][j];

byte itemvalue = item[i][j];

if (mapvalue != 0) {

system.out.println(i+” “+j+” “+ mapvalue);

mapbinaryfile.writebyte(j);

mapbinaryfile.writebyte(i);

mapbinaryfile.writebyte(mapvalue);

}

if (itemvalue != 0) {

itembinaryfile.writebyte(j);//x

itembinaryfile.writebyte(i);//y

itembinaryfile.writebyte(itemvalue);

}

}

mapbinaryfile.close();

itembinaryfile.close();

} catch (eofexception e) {

system.err.println(“error”

做一个java的地图页面(我的世界java怎么做地图)

/images/wink.gif[/img];

}

}

做一个java的地图页面的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于我的世界java怎么做地图、做一个java的地图页面的信息别忘了在本站进行查找喔。

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年4月3日 17:11:06
下一篇 2024年4月3日 17:18:13

相关推荐

  • excel单元格下拉菜单怎么做,excel表格边框线不显示

    Excel怎么做出下拉菜单 首先打开电脑,打开需要处理的excel表格,选择需要设置下拉菜单的单元格。这时点击工具栏中的数据,再点击数据有效性。在数据有效性对话框中,点击设置,再点击允许下方右边的倒三角。接着在下拉菜单中,选择序列。 在电脑上打开目标excel表格,找到需要设置下拉选项的数据。这里演示需要设置下拉选项的是等级这一列。然后找到一出空白列,输入所…

    2024年5月23日
    4200
  • java怎么用循环创建多个button,java循环选择菜单怎么做

    如何用java创建一个按钮组,里面有10个按钮,分别写着0至9? 使用public void setBounds(int x,int y,int width,int height)移动组件并调整其大小。由 x 和 y 指定左上角的新位置,由 width 和 height 指定新的大小。 //有些字符不在GBK中,所以文本使用了UTF-8编码。 在java s…

    2024年5月23日
    4700
  • javaxml画座位,java怎么做图形界面

    怎么用java编写出座位号(1.0)这样格式? 1、如果没有发生过任何让出,调用的函数正常返回, 那么 lua_pcallk (以及 lua_callk)也会正常返回。 (当然,这个例子中你也可以不在之后调用延续函数, 而是在原函数的调用后直接写上需要做的工作。 2、package com.example;/ 利用学号和姓名处理基本信息:(1)输出:姓名,校…

    2024年5月22日
    5200
  • linux地图包,linux 高德地图

    如何安装谷歌地球 谷歌地球怎么安装步骤如下:查看电脑配置,谷歌地球的运行对硬盘的级别有最低要求,而且建议硬盘配置比最低要求更好一些。浏览谷歌地球的网站。 下载谷歌地图,按照步骤安装到电脑上,安装完成后打开谷歌地图。打开谷歌地图后,将相应的经纬度输入搜索框中,然后点击搜索。值得注意的是谷歌地图的定位有时不太精确,存在一定的误差。 华为平板电脑下载谷歌地球方式如…

    2024年5月22日
    4400
  • excel二维气泡图教程,excel2016气泡图怎么做

    Excel气泡图怎么做 1、excel制作半圆气泡信息图表如下图所示为原始数据,原始数据中的数据列是倍数跟随年份增长的。 2、选中B2:D12范围的数据,单击“插入”选项卡的【图表】按钮。在弹出的“插入图表”页面,先选择“XY(散点图)”,再选择“气泡图”。此时生成的图表中各个气泡比较大,并且重叠在一起,不便读图。 3、在excel中输入需要转换成气泡图的表…

    2024年5月22日
    5200
  • excel里面的超链接,excel里面的超链接怎么做

    在excel中如何添加超链接? 1、打开“素材ch02超链接.xlsx”文件,选择“Sheet1”工作表中的B11单元格,单击鼠标右键,在弹出的快捷菜单中选择【链接】命令。 2、首先点击其中一个单元格并选择工具栏中的“插入”选项。然后点击“插入”选项卡中的“链接”图标。进入选择需要链接的对象的对话框,根据需要选择超链接的对象并点击确定。 3、首先打开一个需要…

    2024年5月21日
    4700
  • c语言界面代码,c语言怎么做界面菜单

    C语言如何win32制作一个登录界面,我卡住了,不知道接下来代码该怎么写… 步骤一:登录页面总共分为四个部分。第一部分:DIV整体布局。第二部分:登录标题部分。第三部分:用户名和密码输入框。第四部分:网页布局样式。步骤二:div是所有DIV的样式。div1是整体样式。div2是登录标题样式。 新建一个C项目,点击文件,新建,项目,选择C++Win…

    2024年5月21日
    5200
  • excel2013直方图,excel2013直方图怎么做

    3个简单但实用的Excel直方图绘制技巧 1、在Excel菜单栏中,选择“插入”选项卡。在“插入”选项卡中,选择“柱形图”下的“集群柱形图”。在弹出的窗口中,选择“柱形图”的子类型,例如“一般”或“带有线条”等。 2、在Excel中,对将要分析的数据进行加工整理。分别使用Excel的COUNT、MAX、MIN函数求出所要分析数据的数据个数、最大值、最小值;以…

    2024年5月21日
    5400
  • excel2007下拉菜单,EXCEL2007下拉菜单怎么做

    EXCEL表怎么下拉? 1、首先我们打开需要设置下拉选择项的Excel表格。单击选中需要设置下拉选项框的单元格,再单击菜单栏中的“数据”。点击“下拉列表”选项。输入要选择的选项,如果需要添加多个,可以点击右侧的加号图标。 2、首先打开Excel,并打开需要处理的工作簿。选中需要设置下拉选项的单元格,并点击功能列表中的【数据】页面。继续点击数据工具组中的【数据…

    2024年5月21日
    4900
  • excel怎么做拆线图,excel中如何折线图

    excel2010图表制作折线图 1、选中数据表A2:C14,选择功能区的“插入”——“柱形图”——“簇状柱形图”在图表中右键单击“销售额”柱形,在菜单中选择“设置数据系列格式”选择“系列选项”——“次坐标轴”——“关闭”。 2、首先启动excel2010,执行ctrl+o组合键打开事先准备好的一份数据内容,查看数据内容。选择数据区域a1:b13,执行插入-…

    2024年5月20日
    4700

发表回复

登录后才能评论



关注微信