小编Rom*_*rti的帖子

等距瓷砖绘制和采摘 - JAVA

我正在尝试用 Java 绘制等距图块并使用鼠标光标实现图块拾取系统。我使用我找到的这些数学公式绘制了瓷砖,并适应了我的瓷砖纹理,您可以在下面找到。瓷砖是 64x64 像素,但即使我使用 64x64 精灵绘制它们,平面瓷砖也只有 32 像素的高度。

瓦片

地图是一个简单的二维数组,其中我的图块由它们的 id 表示。

这是我使用 toIso() 函数将地图坐标转换为屏幕坐标的类。我将表示屏幕上光标位置的屏幕坐标传递给 toGrid() 函数以将它们转换为地图坐标。

public class Utils {

private static int TILE_WIDTH = Tile.TILE_WIDTH;
private static int TILE_HEIGHT = Tile.TILE_HEIGHT;

private static int TILE_WIDTH_HALF = TILE_WIDTH/2;
private static int TILE_HEIGHT_HALF = TILE_HEIGHT/2;

private static int TILE_WIDTH_QUARTER = TILE_WIDTH_HALF/2;
private static int TILE_HEIGHT_QUARTER = TILE_HEIGHT_HALF/2;

public static int[] toIso(int x, int y){

    int i = (x - y) * TILE_WIDTH_HALF;
    int j = (x + y) * TILE_HEIGHT_QUARTER; …
Run Code Online (Sandbox Code Playgroud)

java swing drawing tiles isometric

6
推荐指数
1
解决办法
3392
查看次数

标签 统计

drawing ×1

isometric ×1

java ×1

swing ×1

tiles ×1