Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocos2d iphone 如何在最顶端的z-oder中绘制直线_Cocos2d Iphone - Fatal编程技术网

Cocos2d iphone 如何在最顶端的z-oder中绘制直线

Cocos2d iphone 如何在最顶端的z-oder中绘制直线,cocos2d-iphone,Cocos2d Iphone,我想画线连接两个精灵,但在这种情况下我不能这样做: //add Map Background map = [CCTMXTiledMap tiledMapWithTMXFile:@"orthogonal-test-zorder.tmx"]; [self addChild:map z:1 tag:kTagTileMap]; //overite draw function - (void)draw { glColor4f(0.8, 1.0, 0.76, 1.0

我想画线连接两个精灵,但在这种情况下我不能这样做:

//add Map Background
        map = [CCTMXTiledMap tiledMapWithTMXFile:@"orthogonal-test-zorder.tmx"];
        [self addChild:map z:1 tag:kTagTileMap];
//overite draw function
- (void)draw {

    glColor4f(0.8, 1.0, 0.76, 1.0);  
    glEnable(GL_LINE_SMOOTH);
    ccDrawLine( ccp(0, 0), ccp(150, 150) );
}

这条线不会显示在屏幕上,如果我移除地图背景,它就会显示出来。

我不知道Cocos2D,所以这只是胡乱猜测,但是[self addChild:map z:1 tag:kTagTileMap]的z参数;似乎是一个z偏移。由于1将位于0前面(可能是默认值),因此贴图将在线条前面渲染。尝试[self addChild:map z:-1标记:kTagTileMap]

我两天前遇到了同样的问题

我的解决方案是制作一个单独的MyLineLayer,它只画一条线。然后可以将CCLayer的z索引设置为顶部


我认为使用包络MyLineLayer比使平铺贴图的z索引更小要好。

我不知道Cocos2D,所以这只是胡乱猜测,但是
[self addChild:map z:1 tag:kTagTileMap]的
z
参数
似乎是一个
z
偏移量。由于1将位于0前面(可能是默认值),因此贴图将在线条前面渲染。尝试
[self addChild:map z:-1标记:kTagTileMap]这是一个完美的黑暗世界,谢谢!然后我会把它作为一个答案。Yupz。。绘制线将始终在z:0处绘制。。所以唯一的办法就是把所有的东西都放在下面。。