我正在构建一个游戏,用户(玩家)可以在其中建立自己的城镇。他们可以在那里建造房屋,为房屋添加家具等。基本上类似于模拟人生。
我正在使用平铺地图编辑器为每个城镇创建基础。在那里我定义了以下层
- 地面
- 地面
- 墙壁和家具(基本上所有东西)
所有这些层最初都是空的。由用户来填充它们。
我正在使用 cocos2d v2 及其CCTMXTiledMap
在我的项目中渲染这个瓦片地图。
我意识到的一件事是地图中定义的图层CCTMXLayer
s 仅支持来自一个瓦片集(#)的图像。
这导致了以下问题,在深入研究一些严肃的游戏开发之前,我需要回答这些问题。
问题 1. 如果我所有的房子都有相同的墙壁,这个游戏就不好玩了。我真的需要在“墙壁和家具”-tileset 中使用许多不同类型的墙壁。 一个tileset可以有多大?请注意,由于(#),我不仅需要在此处存储不同的墙壁纹理,还需要存储代表家具的纹理。
问题 2。您更改 a 中的瓷砖的方式CCTMXTiledMap
是(据我所知..?)使用该setGID
特定图层的方法。回到不同墙壁的例子。假设玩家可以从滚动的 HUD 层菜单中选择不同的墙壁。当玩家选择某面墙时 -我如何知道该GID
特定墙有哪面(在运行时)?
PS我对cocos2d和Tiled都很陌生,所以如果我在这里采取了错误的方法,请告诉我在这样的游戏中我应该采取什么方法。我也一直在研究 Kobold Touch——也许这更适合我的需要?