0

我正在开发一个游戏,玩家可以在使用平铺地图编辑器创建的等距地图周围拖放CCSprites 。

为了允许自动 vertexZ 重新排序,我depthTest[CCDirector sharedDirector]我的AppDelegate.

每当更新CCSpritesposition时,我都会调用此函数

- (void)updateVertexZ:(CGPoint)tilePos tileMap:(CCTMXTiledMap *)tileMap
{
    float lowestZ = -(tileMap.mapSize.width + tileMap.mapSize.height);
    float currentZ = tilePos.x + tilePos.y;
    self.vertexZ = lowestZ + currentZ;
}

正确地重新排序精灵。

每当实例化这样的精灵时,我设置shaderProgram如下:

self.shaderProgram = [[CCShaderCache sharedShaderCache]programForKey:kCCShader_PositionTextureColorAlphaTest];

现在,当两个精灵像这样对齐时(x 是精灵,0 是空的):

0 x 
x 0

并从等轴测角度观察。它们确实放置正确。然而,沿着第一个(最近的)精灵,一个 1px 的边框是可见的 - 见图片。这是背景中的地板——不是很酷。

在此处输入图像描述

为什么这个边框是可见的,我怎样才能摆脱它?

4

0 回答 0