仿彩虹城堡使用Java绘制游戏地图

本文介绍了作者使用Java Swing实现游戏地图的绘制过程,包括两个版本的实现方式:初版使用JLabel但未能成功,最终版通过绘画方式实现,采用二维数组存储地图数据,允许调整行列显示数量。虽然图片大小为60x60,但未测试自动缩放功能。目前该实现没有发现BUG,展示了部分效果图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

很早以前的一个想法,今天终于实现了。此次做了2个版本:

1、第一个版本使用的很多Jlabel做的,数据都是写死的。并且失败了。

2、使用绘画做的,可以更改数据,成功实现。地图使用的二维数组存储,可以更改每行和每列的显示数量,但是我使用的图片是60x60的,不知道会不会自动缩放。目前没遇到BUG。

 

先上段效果图:

package com.maps;

import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.swing.JFrame;

/**
 * 绘画Java手游地图<br>
 * 下方未对地图长度作判断,使用的数组下标都是[0]开始<br>
 * 所以只要maps的长度大于[0][0]即可
 * 
 * @author iu_chang
 *
 */
public class Map extends JFrame {
	private static final long serialVersionUID = 1L;
	/**
	 * 20x20 地图:<br>
	 * 1为普通路段:灰色<br>
	 * 2为草地:浅绿<br>
	 * 3为桥:棕色<br>
	 * 4为河流:蓝色<br>
	 * 5为墙壁:白色<br>
	 * 6为树木:深绿<br>
	 * 1、2、3可通过,4、5、6不可通过
	 * 
	 */
	private Integer[][] maps = { { 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 },
			{ 5, 2, 2, 2, 2, 2, 2, 5, 5, 4, 2, 2, 2, 2, 5, 2, 
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值