所以我最近一直在使用 flixel,我想我对此有所了解,但我遇到了一个问题。
我有一个使用该loadMap()
函数的 Map 类,效果很好。
然后我用setTileProperties()
我在我的水瓦上使用,然后调用一个函数,在我的玩家类上调用一个布尔值(说他在水中),然后减慢他的速度。这仍然很有效,除了一件事。当我通过水砖上方或右侧(大约 10-16 像素,尚未得到确切数字)在瓷砖外面时,它仍然会减慢玩家的速度。我不确定这是否只是可行的方式FlxG.collide()
,或者我是否可以做些什么来修复它,或者我是否应该找到另一种使用碰撞的方法。感谢所有帮助。
这是代码,如果您需要它:
地图.as
private function createMap():void {
loadMap(new currentMap, currentTiles, 32, 32, 0, 0, 0);
setTileProperties(4, FlxObject.NONE, PlayerInWater);
}
override public function update():void {
super.update();
FlxG.collide(Registry.player, this);
}
private function PlayerInWater(tile:FlxTile, player:Player):void {
Registry.player.inWater = true;
trace("player is in the water");
}