2010-09-02 96 views
2

我尝试动态创建自己的瓷砖地图,例如在数据库的帮助下创建的一些建筑物。我尝试在对象图层上使用CCSprite。但是,当我滚动地图时,CCSprites也在移动。每当玩家滚动地图时,我都不想移动所有的精灵。 (针对性能问题) 然后,我决定在背景层上创建自己的CCTMXLayer。我如何动态创建自己的CCTMXLayer?动态创建CCTMXLayer

+2

因此,您将多个CCSprites添加到单个CCLayer中,并且当您更改CCLayer的位置时,CCSprites会以某种奇怪的方式移动?请澄清。 – 2011-08-16 05:44:01

回答

1

您可以使用CCTMXLayer的setTileGID方法修改现有的tilemap,因此可以使用单个tile在Tiled(或您选择的任何编辑器)中创建tileMap。

然后,一旦你已经把地图加载到CCTMXLayer,使用setTileGID来改变瓷砖的内容。

或者,您可以创建一个新的CCLayer,然后为游戏中的每个图块添加一个精灵,但是,如果您决定采用该方法,则应该使用textureAtlas或batchNode。然后要移动地图,您只需更改该图层的位置。