渲染基于矩形的小地图

时间:2012-07-28 15:50:38

标签: cocos2d-iphone

Cocos2d-iPhone,1.0.1。

我的游戏有地图。我有一个包含NSValuesCGRects)的数组,它基本上代表了地图中的碰撞。无论如何,我需要的是从字面上创建一个几乎是灰色背景的纹理,黑色填充矩形代表我的rects,然后我将使用这个纹理来创建我的小地图。

无论如何,问题是纹理创建部分。我想知道这一点,因为创建CCSprites来表示我的矩形有点不可能(每个地图数百个!)。我还考虑用CCDrawLine之类的东西来绘制原语,但我对此并不十分肯定。

你推荐什么?你会如何创建纹理?

2 个答案:

答案 0 :(得分:0)

对我来说听起来像tile-based game

答案 1 :(得分:0)

创建小地图意味着创建您用于表示游戏世界的任何地图的缩小版本。

可能有效的一种方法是缩小地图图层(CCTMXTiledMap?),使其符合小地图的大小。然后将其渲染到CCRenderTexture上。这可能非常耗时,因此最好不要每帧更新小地图渲染纹理。

或者循环遍历tilemap,并且对于每个tile,使用基于tile类型(草,山,水等)的给定颜色,将适当位置处的单个像素渲染到渲染纹理上。如果产生的小地图太大或太小,请放置2x2像素或更多像素,或缩小渲染。