gpt4 book ai didi

Java,关卡编辑器问题

转载 作者:太空宇宙 更新时间:2023-11-04 11:25:01 25 4
gpt4 key购买 nike

我遇到了一个快速问题,我不知道如何自己解决,但我相信在你的帮助下我会理解更多。

我已经为我正在创建的游戏引擎创建了一个关卡编辑器,并且我正在尝试使鼠标位置捕捉到 32x32(网格)或 64x64(网格),以便图 block 正确放置并且不会相互重叠。

所以它不是这样的: /image/uL60U.jpg但更像是这样的: http://imgur.com/a/nck9N抱歉,这个解释非常糟糕。

我正在使用的鼠标位置代码是

public int getMouseX() {
return mouseX; // Get MouseX
}


public int getMouseY() {
return mouseY; // Get Mouse Y
}

public void mouseMoved(MouseEvent e) {
mouseX = (int)(e.getX() / gc.getScale() /*+ gc.getWindow().getFrame().get*/);
mouseY = (int)(e.getY() / gc.getScale()); //CODE TO GET MOUSE X AND Y


}

//加载鼠标所在位置的纹理/图像的代码

tMouseX = gc.getInput().getMouseX() -32;
tMouseY = gc.getInput().getMouseY() - 32;
putImage((int)tMouseX,(int)tMouseY,r);

//putImage函数

public void putImage(int x, int y)
{
objects.add(new Grass(x,y));

}

尝试将图像调整为 32x32

最佳答案

不必担心将鼠标捕捉到网格,您并不是真的想这样做。您想要的是将图 block 对齐到网格。

最好的方法是使用整数除法。使用整数除以图 block 大小以截断余数(或使用 floor),然后通过乘以图 block 大小来缩小规模。

int tilepos_x = (int)(mousex / tileSize) * tileSize;
int tilepos_y = (int)(mousey / tileSize) * tileSize;

关于Java,关卡编辑器问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44475012/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com