java地图开发的例子(javaweb地图开发)

今天给各位分享java地图开发的例子的知识,其中也会对javaweb地图开发进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

1、求一个java写的地图程序2、用JAVA定义一个二维数组的地图3、如何使用java 开发百度地图

求一个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地图开发的例子(javaweb地图开发)

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

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

java地图开发的例子(javaweb地图开发)

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

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

java地图开发的例子(javaweb地图开发)

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

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

java地图开发的例子(javaweb地图开发)

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

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

java地图开发的例子(javaweb地图开发)

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

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

java地图开发的例子(javaweb地图开发)

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

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

java地图开发的例子(javaweb地图开发)

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

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

java地图开发的例子(javaweb地图开发)

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

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

java地图开发的例子(javaweb地图开发)

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

itemimages = new imageicon[3];

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

java地图开发的例子(javaweb地图开发)

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

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

java地图开发的例子(javaweb地图开发)

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

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

java地图开发的例子(javaweb地图开发)

/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地图开发的例子(javaweb地图开发)

/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地图开发的例子(javaweb地图开发)

/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地图开发的例子(javaweb地图开发)

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

dataoutputstream itembinaryfile = new dataoutputstream(

new fileoutputstream(mapeditor.filename + “item”

java地图开发的例子(javaweb地图开发)

/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地图开发的例子(javaweb地图开发)

/images/wink.gif[/img];

}

}

java地图开发的例子(javaweb地图开发)

用JAVA定义一个二维数组的地图

地图拥用个二维数组,A,B的逻辑分别判断,Aif(i(数组高度)= 0,j != 0 )(j–),if(j = 0,i = 0)(i ++),if(i != 0,j == 0)(j ++)if(i == 10, j == 10)(i –)B的逻辑与A反下,就可以了

如何使用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地图开发的例子的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于javaweb地图开发、java地图开发的例子的信息别忘了在本站进行查找喔。

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

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

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年4月2日 04:27:02
下一篇 2024年4月2日 04:34:16

相关推荐

  • java读取一个字符,java读入一个字符串

    java中如何用Scanner类读入单个字符 1、首先在使用Java编程时,需要先导入java工具包,这样后面才可以使用接受输入和输出的java语句。然后需要创建一个输入类的对象,这里类的名称命名为scan对象。接着定义一个s的字符串变量,接受键盘的任意字符串的输入。 2、初学java,用scanner怎么input单个字母。 有没有chara=scanne…

    2024年5月18日
    2800
  • java程序设计教程,java程序设计教程第二版

    Java语言简单程序设计 java语言程序设计就是使用Java语言(是一种可以撰写跨平台应用软件的面向对象的程序设计语言)编写代码,给出解决特定问题程序的过程。 首先,人物类,person ,Teacher类和CollegeStudent类继承之。 它是目前Internet最流行的编程语言之一,具有高度的安全性、可移植性和代码可重用性。Java程序设计由13…

    2024年5月18日
    4000
  • java类别树,java树的分类

    用java怎么构造一个二叉树呢? 在Java中,你可以定义一个类来表示后序线索二叉树,其中包含有头节点、尾节点和当前节点指针。你可以使用递归或迭代方法遍历整棵树,并创建线索,即存储前驱和后继节点的指针。 建立两个类就应该可以了。一个是树的节点,一个是树,这个是我以前编写的宽度优先遍历的树的构建和遍历,希望对你有帮助。 首先我想问为什么要用LinkedList…

    2024年5月18日
    2700
  • 滑动验证码java,滑动验证码平台

    怎么实现滑动拼图验证码功能? 首先随便找一张图片渲染到canvas上,这里#canvas作为画布,#block作为裁剪出来的小滑块。 重置验证码:在每次验证完成后,重置验证码以允许下一次验证。 打开需要验证的网站,找到滑动拼图验证码的位置。点击拼图,拖动到正确的位置。如果拖动到错误的位置,会有提示,需要重新拖动。如果验证成功,会有提示,可以继续操作。滑动拼图…

    2024年5月18日
    3300
  • javabigdecimal序列化,java序列化实现

    请问,java里,如何把BigDecimal类型转成Integer 1、可以使用强制转换来语句来实现数据类型从Long类型转换成Integer或int类型。 2、自动类型转换 自动类型转换,也称隐式类型转换,是指不需要书写代码,由系统自动完成的类型转换。由于实际开发中这样的类型转换很多,所以Java语言在设计时,没有为该操作设计语法,而是由JVM自动完成。 …

    2024年5月18日
    3400
  • java拆箱装箱,java装箱拆箱作用

    java开发工程师必须要学的技术有哪些 1、java工程师需要学习的内容有很多,比如java语法、java界面编程、JavaScript脚本语言等等。 2、JavaEE基础:Java基础语法、面向对象、核心类库、集合、异常、IO、线程、JDK新特性。JavaWeb开发:前端技术、数据库、JAVA数据库操作、软件服务器及服务器相关技术、动态网页JSP、AJAX…

    2024年5月18日
    3100
  • java导入pdf,java导入数学包

    java生成pdf,图片怎么导不进去? 可以用生成PDF报表的Java组件–iText。具体实现方法如下:导入itext-2。1。5。jar跟itextasian-1。5。2。jar两个包到项目里,建立一个pdf文件。一般情况下,iText使用在有以下一个要求的项目中:1。 出现这个问题的原因就是,提问者用的是字符流,实际不确定文件类型的时候,需…

    2024年5月18日
    3400
  • 四则运算java代码,java四则运算实验报告

    简单的java四则运算问题,请大神们指点下。 interceptOperation:对你输入的算式(加减乘除,例如:1*2+2/2)进行运算。传入的a、b参数目测应该为‘*’,‘/’或者+,-。 首先分析一下四则运算表达式的规律就有思路了:四则运算式子都是 “数字 运算符 数字 运算符……”这种形式,也就是两头肯定是数字,运算符两边总是数字。数字可以有多位,…

    2024年5月18日
    3700
  • java图片二进制存到数据库,图片二进制存入数据库

    在java中如何将图片保存到数据库? 1、一般都是这样的,就是在你服务器有一个专门放置图片的文件夹,然后数据库保存的是你服务器图片的路径。需要用的时候就去数据库里面取路径。得到路径以后你想怎么处理图片是你的事情了。 2、另外一种办法是,将图片通过Base64编码后存储到数据库中,数据库中存储图片的base64编码的二进制可以使用TEXT(mysql)类型。 …

    2024年5月18日
    3300
  • java中文社区,forumjava

    请问有哪些电脑论坛好些? 天涯论坛、新浪论坛、猫扑社区、凤凰论坛、搜狐论坛、网易论坛、凯蒂社区、中国网论坛、王大奇论坛。 1978年,美国芝加哥开发了一套基于8080芯片的BBS芝加哥,这是最早的BBS系统。后来随着Mac的出现,开发了基于Mac的公告板。 Coursera(.coursera.org)- Coursera 是在线教育平台,提供数千个或收费的…

    2024年5月18日
    4200

发表回复

登录后才能评论



关注微信