gpt4 book ai didi

java - 我正在尝试返回 x 和 y 值以在游戏中设置实体生成。我在这里缺少什么?

转载 作者:行者123 更新时间:2023-12-01 12:35:07 24 4
gpt4 key购买 nike

我正在尝试将玩家的生成点设置在特定的图 block 上,但我不确定如何实现这一点。相关代码如下:

来自玩家类别:

public Player(Level level, int x, int y, InputHandler input) {
super(level, "Player", x, y, 1);
this.input = input;
}

来自游戏类:

public int spawnX = Level.getSpawnTileX();
public int spawnY = Level.getSpawnTileY(getY());

这是在我的 init() 中:

player = new Player(level, spawnX, spawnY, input);

这是我的关卡类(class):

public static int getSpawnTileX(int x){
for(int y = 0; y < height; y++){
for(int x1 = 0; x1 < width; x1++){
for(Tile t : Tile.tiles){
if(t.getLevelColor() == 0xff00ff00){
return x1;
}else{
return 0;
}
}
}
}
return x;
}
public static int getSpawnTileY(int y){
for(int x = 0; x < width; x++){
for(int y1 = 0; y1 < height; y1++){
for(Tile t : Tile.tiles){
if(t != null && t.getLevelColor() == 0xff00ff00){
return y1;
}else{
return 0;
}
}
}
}
return y;
}

这是我的 Tile 类:

public static final Tile SPAWN = new BasicTile(3, 3, 0, Colors.get(-1, 141, 131, -1), 0xffff0000);
public int getLevelColor(){
return levelColor;
}

图 block 类:

public abstract class Tile {

public static final Tile[] tiles = new Tile[256];
public static final Tile VOID = new BasicSolidTile(0, 0, 0, Colors.get(000, -1, -1, -1), 0xff000000);
public static final Tile STONE = new BasicSolidTile(1, 1, 0, Colors.get(-1, 333, -1, -1), 0xff555555);
public static final Tile GRASS = new BasicTile(2, 2, 0, Colors.get(-1, 131, 141, -1), 0xff00ff00);
public static final Tile SPAWN = new BasicTile(3, 3, 0, Colors.get(-1, 141, 131, -1), 0xffff0000);

如果需要更多代码进行澄清,我很乐意尝试提供。非常感谢对此的任何帮助。

最佳答案

您的问题在这里:

        for(Tile t : Tile.tiles){
if(t.getLevelColor() == 0xff00ff00){
return x1;
}else{
return 0;
}
}

应该是这样的:

        for(Tile t : Tile.tiles){
if(t.getLevelColor() == 0xff00ff00){
return x1;
}
}

问题是它只检查 Tile.tiles 中的第一个值。如果它不是正确的值,它会立即返回 0。上面显示的更改使其实际上继续,并检查其余的图 block 。

关于java - 我正在尝试返回 x 和 y 值以在游戏中设置实体生成。我在这里缺少什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25655437/

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