2012-08-26 97 views
1

因此,与Tiled,我可以直接在瓷砖将其放置在地图上像这样前设置块属性:Cocos2d +平铺+传送(平铺属性)?

Setting Tile Properties

我就是这样做了碰撞检查,通过碰撞属性设置为“真',然后在移动精灵时检查图块属性。

但是,我想添加一个'teleport'瓦片。当玩家在特定的瓷砖上行走时,会将他们带到一个单独的位置。

我遇到的问题是当你在一个贴图上设置一个属性时,你只能设置一次,而不是在瓷砖实例上。意思是每个瓦片都有相同的传送位置。

我可以俯视吗?一般来说,有没有更好的方法可以在Cocos2d中做到这一点?

回答

2

您可以使用此对象层。将一个“对象”(这只是一个矩形或Tiled中的点)添加到传送程序块中,并使用该对象的属性将两个位置连接在一起。

加载地图时,可以遍历所有对象以查找连接对象。然后你就可以知道传送阵列中可以存储的传送器端点的两个区域位置。每次你的玩家移动到一个新的瓦片时,检查传送阵列以查看该玩家是否在其中一个传送区域上,如果他是,则将他移动到另一个传送区块。

当然,你也可以检查交叉点与对象(矩形),但由于有可能意外地创建了一个横跨多个tile的对象(矩形),在游戏开始之前检查这些对象似乎更加可靠。

1

嗯,这可能是最好的方式,但这是我所做的。您可以创建一个元层,并为每个传送板设置单独的图块。因此,当您检查玩家是否在teleportingpad1上时,您将玩家位置设置为receiverPad1(可能是另一个图块,对象处于平铺状态,或只是您在检查碰撞时设置的点)。你只需制作另一个例如teleportingpad2,teleportingpad3等更多的垫。