【发布时间】:2019-05-20 06:25:16
【问题描述】:
我正在我的游戏中设置检查点,并希望玩家在每次重生时都能获得应有的颜色。否则,玩家立即死亡。
我已经在我的联系人监听器中尝试了这段代码(检查夹具 a(播放器)和夹具 b(检查点)之间的联系):
MapObjects objects = play.getTileMap().getLayers().get("checkpoints").getObjects();
for (MapObject object : objects) {
if (object.getProperties().containsKey("Color")) {
int color = object.getProperties().get("Color", Integer.class);
Gdx.app.log("Respawn color", Integer.toString(color));
game.setRespawnColor(color);
}
}
但是,此代码不会从玩家碰撞的检查点获取属性“Color”,而是从它找到的最后一个检查点获取。
例如,一种解决方法是为每种颜色添加一个检查点层(red_checkpoint),但这会增加很多不必要的代码。
谢谢!
【问题讨论】: