用Java写一个地图编辑器

文章作者 100test 发表时间 2007:10:10 12:23:30
来源 100Test.Com百考试题网


用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.
}
}


相关文章


java学习——理解面向对象程序设计
Struts中bean:present使用方法
改进JAVA字符串分解的方法
Mysql的子类,专门验证登录Pa ql
用Java写一个地图编辑器
我的百宝箱之tomcat5中文问题解决之道
在较量中携手前行——写给Java1.5和.NET2.0
一个字母频率分析计算小程序
Servlet与Javabean配置
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛