gpt4 book ai didi

java - 查找等距实体的足迹

转载 作者:行者123 更新时间:2023-12-02 09:18:29 25 4
gpt4 key购买 nike

我正在用 Java 制作一个 2D 等距引擎,我想是因为我喜欢受苦。不管怎样,我正在进入碰撞检测,但遇到了一些问题。

游戏中的角色不限于在图 block 之间移动 - 他们可以自由移动。我的问题是,我不确定如何阻止玩家与 crate 等碰撞,而不拒绝他们访问图 block 。

例如,假设 crate 位于图 block 的 0.5 处,然后 crate 的其余部分位于图 block 之外,我希望玩家能够移动到图 block 的空闲 0.5 处整个图 block 被阻塞。

我遇到的问题是我不确定如何估算对象足迹的大小。使用图像的尺寸效果不太好,因为游戏空间中对象的“高度”会转化为图像占用的额外地板空间。

我应该如何估计物体的大小?请注意,我不需要像素完美的检测。菱形就可以了。

我很乐意提供您可能需要的任何代码,但这似乎是一个数学问题。

最佳答案

从 Sprite 的边界矩形中,您可以推断出适合其内部的菱形的高度,但您无法精确确定地板上的两个尺寸,因为每个维度对 Sprite 的宽度和高度的贡献相等。但是,如果您假设菱形正方形的底边,那么您也可以确定其边长。

如果 Sprite 的宽度为 W 像素,高为 H 像素,则菱形的正方形底边的边长为 W/sqrt(3) 菱形的高度将为 H - (W/sqrt(3))This image of some shapes in isometric projection有助于理解这些公式为何有效。

关于java - 查找等距实体的足迹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14371939/

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