java - 如何从列表索引中获取 vector2?
问题描述
假设我有一个 ArrayList,其中包含 32 个对象,形成一个 4x8 的 2d TileMap。
我想得到第 12 个物体的位置。我如何获得vector2?请记住,对象没有vector2,我想从索引中获取位置。
解决方案
如果您要问的是“我如何计算例如 4x8 地图中第 12 个对象的位置”,那么算法是这样的:
(我假设vector2是保持int,int为x,y位置和0,0是原点的东西,我们从1开始计算瓷砖):
public class Test {
private static final int xDimension = 4;
public static void main(String[] args) {
System.out.println(getPosition(1));
System.out.println(getPosition(3));
System.out.println(getPosition(4));
System.out.println(getPosition(5));
System.out.println(getPosition(12));
System.out.println(getPosition(32));
}
public static Vector2 getPosition(int n) {
int y = (n - 1) / xDimension;
int x = (n - 1) % xDimension;
return new Vector2(x, y);
}
public static class Vector2 {
int x, y;
public Vector2(int x, int y) {
this.x = x;
this.y = y;
}
@Override
public String toString() {
return "(" + x + ", " + y + ")";
}
}
}
输出:
(0, 0)
(2, 0)
(3, 0)
(0, 1)
(3, 2)
(3, 7)
推荐阅读
- python - وصلى 字符在将网页抓取获得的文本写入 csv 文件时显示
- python - 使用模型的预测来训练新模型
- javascript - 如何在没有外部模块的情况下使用 nodejs 成功创建一个简单的表单
- c# - 无法将 ASP.NET Web API 发布到 Azure 应用服务
- python - 如何在 FastAPI 中为 Pydantic 模型编写测试?
- javascript - 如何在 JavaScript 中创建一个带有类似追加函数的嵌套数组?
- javascript - 为什么这会从“未定义”变为“对象”?
- javascript - Joi - 如何检查其他键的值何时为空/空
- reactjs - react-spring 反向不透明显示
- excel - 在excel中将完整地址分为街道地址、城市、州、邮编、国家