我是一个初级的Java游戏开发人员。对于我的第一个游戏,我正在制作一个高级版本的Minicraft by Notch。然而,我绝对知道如何制作一个基于2D Tile的World Generator。
有没有人介意解释一下我是如何做到这一点的,或许还有一两个YouTube视频的链接?
我正在为Java开发人员使用Eclipse EE。
此外,我似乎不能调整我的窗口大小,使像素更大。图像是16 x 16像素,但是我想像minicraft (上面的链接)那样显示更大的图像。
这是Skeleton.java的代码(这是游戏的框架(‘骨架’))`
package code;
import java.awt.Graphics;
public class Skeleton extends Loop{ //Should extend Applet?
public void init(){
Thread th= new Thread(this);
th.start();
offscreen = createImage(120,160); // 120, 160
d = offscreen.getGraphics();
addKeyListener(this); //15:43
}
public static final int HEIGHT = 120; //Original Height/Width= "120 x 160"
public static final int WIDTH = 160;
public static final String TITLE= "Test Game BETA";
public static final int SCALE = 3;
public void paint(Graphics g) {
d.clearRect(0, 0, 160, 120); //Error Here, Scale perhaps? -Disregard //0,0,160,120
d.drawImage(him, x, y, this); //12:17 http://www.youtube.com/watch?v=XmRD0PlAXEY
g.drawImage(offscreen, 0, 0, this);
}
public void update(Graphics g){
paint(g);
} //Finished at 15:33 ERROR w/ the circle -Fixed
}
//2D Tile Engine Must be Created发布于 2014-01-08 07:09:15
我正在做一个几乎与此完全相同的项目。在生成worlds的方法中,我有一个二维的瓦片数组,以及一个用瓦片填充该数组的方法。在生成世界的方式中,我在每一列中放置一个草瓦片,然后是随机确定的土瓦片数量,然后是石瓦片,直到世界的底部。然后,对于下一列,我将一个草瓦片放置在y坐标上,该坐标介于前一草的y坐标的-2到+2瓦片之间,并像前面一样填充该列的其余部分。继续操作,直到到达数组的末尾。
发布于 2014-10-16 03:20:01
要重新缩放图像,我使用以下方法
public void drawRezizedImage(Graphics g, Image image, int x, int y, int sizeX, int sizeY){
image.getScaledInstance(200, 200, Image.SCALE_SMOOTH);
g.drawImage(image, 0, 0, null);
}这将简单地绘制一个重新缩放的版本,在本例中为16x16px的图像。希望这就是你要找的。
https://stackoverflow.com/questions/20981317
复制相似问题