gpt4 book ai didi

java - Slick2D:getTileProperty 在不应该返回 true 时返回

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

我正在尝试对我一直在制作的测试游戏实现一些碰撞检测。我使用 TiledMap 创建 map 并将其中一个图 block 上的属性设置为 blocked=true然后在第 0 层绘制此图 block 。

然后我使用以下代码检查玩家移动方向上是否存在图 block

if (input.isKeyDown(Input.KEY_DOWN)) {
sprite = down;
sprite.update(delta);
int tileID = map.map.getTileId((int) x / map.map.getTileWidth(), (int) y / map.map.getTileHeight() + 1, 0);
String value = map.map.getTileProperty(tileID, "blocked", "false");
if (value.equals("true")) {
y += delta * 0.1f;
System.out.println("Tile ID: " + (int) (x / map.map.getTileWidth()) + ", " + (int) (y / map.map.getTileHeight() + 1) + " Try to walk down. Tile value below the player is:" + value);
}

}

每个方向都重复此操作。

我遇到的问题是它正在为不正确的图 block 选择被阻止的属性你可以用this video更好地理解.黄色方 block 是碰撞/阻挡方 block 。

最佳答案

我认为您遇到此问题是因为您更新了 if 语句之外的图形

尝试将下面的那些移动到 if 中:

sprite = down; 
sprite.update(delta);

但是我想其中之一将 Sprite 的脸朝下,因此不应该在里面。

关于java - Slick2D:getTileProperty 在不应该返回 true 时返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23267782/

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