我是Java Game Developer的开始。对于我的第一个游戏,我正在使用Minicraft的高级版本制作一些东西 通过Notch。但是我绝对想知道如何制作基于2D平铺的世界生成器。
有人会介意解释我会如何做到这一点,也许是一些YouTube视频的链接?
我正在使用Eclipse EE for Java Developers。
此外,我似乎无法调整窗口大小以使像素更大。图像是16 x 16像素,但是我想将它显示得更像minicraft(上面的链接)
这是Skeleton.java的代码(这是游戏的框架('Skeleton'))`
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
答案 0 :(得分:0)
我正在开发一个几乎与此相同的项目。我生成世界的方式,我有一个二维瓷砖阵列,以及一个用瓷砖填充数组的方法。世界的生成方式,我在每一列中放置一块草砖,然后是随机确定数量的污垢砖,然后是石砖,直到世界的底部。然后,对于下一列,我将草砖放置在y坐标处,该坐标位于前一个草的y坐标的-2到+2个切片之间,并像以前一样填充列的其余部分。继续,直到你到达阵列的末尾。
答案 1 :(得分:0)
要重新缩放图像,我使用此方法
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);
}
这将简单地绘制您的重新缩放版本,在这种情况下为16 x 16px图像。 希望这是,你在寻找什么。