我正在使用libgdx创建一个Android游戏,在这个游戏中,玩家可以触摸屏幕的特定部分,在道路上左右移动汽车。我最初制作的游戏高度和宽度分别为480 x 800,但当设备分辨率或多或少时,我制作的更多,触摸坐标不在同一个地方。如果一种根据正在玩游戏的设备来缩放我的坐标的方法。我用来计算触摸点的功能如下:
if (Gdx.input.isTouched()) {
if (inBounds(touchedX, touchedY,0, 585, 120, 140)) {
taxi.moveLeft();
}
else if (inBounds(touchedX, touchedY, 360, 585, 120, 140)) {
taxi.moveRight();
}
else if (inBounds(touchedX, touchedY, 0, 0, 120, 140)) {
pause();
}
}
if (!Gdx.input.isTouched()) {
if (inBounds(touchedX, touchedY, 0, 600, 71, 111)) {
taxi.stopLeft();
}
if (inBounds(touchedX, touchedY, 415, 600, 71, 111)) {
taxi.stopRight();
}
}
如果设备大于或小于480 x 800,如何相应地调整inbounds()比例中的坐标。
你可以用摄像机做到这一点。未投影。
在你的触摸事件做这件事
Vector3 vect=new Vector3(touchedX,touchedY,0);
camera.unproject(vect); // camera is your game camera
float newX=vect.x,newY=vect.y;
if (inBounds(newX, newY, 0, 600, 71, 111)) {
taxi.stopLeft();
}
这就行了。
我有一套mandelbrot电视机,我想放大。“缩放曼德拉”和“缩放曼德拉”是围绕曼德拉坐标计算的。原始的mandelbrot以real=-0.6和im=0.4为中心,real和im的大小均为2。 我希望能够点击图像中的一个点,并计算一个新的点,放大该点 包含它的窗口是800x800px,所以我想这将使右下角的单击等于真实=0.4和im=-0.6的中心,左上角的单击为真实=-1.6和im=1.4
我正在尝试将鼠标点击坐标转换为画布坐标。画布可以动态缩放。我实现了缩放功能,缩放转换整个画布。画布本身有一个图像作为窗口的背景。当用户使用鼠标滚轮时,背景会放大和缩小。如何转换鼠标点击坐标以反映图像上的缩放位置? 缩放地图图像代码: 将图标添加到地图图像: 我基本上是想用鼠标左键在地图上添加一个新的图标图像。但是,如果在我尝试添加图标时放大了地图,则图像的位置与单击的地图位置不相关。它会转到离鼠标
问题:您有一个nxn网格(1 我试图用BFS解决这个问题,但是对于非常大的网格维度来说,它太慢了。然后我听说了坐标压缩。有人能解释一下什么是坐标压缩,它是如何实现的,我在哪里可以了解更多?
问题内容: 我使用Java中的Graphics2D缩放和旋转绘制的图片。现在,我想知道当单击图片中的某个点时的原始坐标是什么。因此,鉴于旋转坐标和缩放坐标,我想计算原始坐标。有没有简单的方法可以做到这一点? 问题答案: 如果保留在绘制图像时使用的副本,则可以使用 AffineTransform.inverseTransform(Point2D ptSrc,Point2D ptDst) 将设备空间坐
问题内容: 我正在研究信号分类问题,想先缩放数据集矩阵,但是我的数据是3D格式(批,长度,通道)。 我尝试使用Scikit-learn Standard Scaler: 但是我收到了以下错误消息: 找到具有暗3的数组。StandardScaler预期<= 2 我认为一种解决方案是将每个通道的矩阵分成多个2D矩阵,分别缩放比例,然后放回3D格式,但我想知道是否有更好的解决方案。 非常感谢你。 问题答
我想在javafx中制作一个“可缩放的图形计算器”,所以基本上是一个坐标系,你可以用鼠标滚轮放大。我在画布上画了所有的东西,但我不知道如何做缩放部分...我可以想到三种方法: null