Рисовать линии над CCSprite? - PullRequest
       17

Рисовать линии над CCSprite?

0 голосов
/ 12 января 2012

Я добавляю CCsprite в качестве фонового изображения в мою игру.Теперь я хочу, чтобы пользователь рисовал линии над этим CCSprite на основе его прикосновения.Ничья работает нормально, когда спрайт не был добавлен в качестве фона.но когда я добавляю спрайт, линия не видна на спрайте, но я предполагаю, что она рисует на фоне.Как я могу нарисовать линию над спрайтом, а не за ним ??

Нужно ли брать изображение в графическом контексте и рисовать его с помощью графического ядра вместо ccsprite ... будет ли это работать тогда??

Я рисую линию с помощью следующего кода -

-(void) draw
{
    // Default GL states: GL_TEXTURE_2D, GL_VERTEX_ARRAY, GL_COLOR_ARRAY, GL_TEXTURE_COORD_ARRAY
    // Needed states:  GL_VERTEX_ARRAY, 
    // Unneeded states: GL_TEXTURE_2D, GL_COLOR_ARRAY, GL_TEXTURE_COORD_ARRAY
    glDisable(GL_TEXTURE_2D);
    glDisableClientState(GL_COLOR_ARRAY);
    glDisableClientState(GL_TEXTURE_COORD_ARRAY);


NSMutableArray *arr =[NSMutableArray arrayWithArray:pointTouches];

world->DrawDebugData();

glEnable(GL_LINE_SMOOTH);

glColor4f(1.0, 1.0, 1.0, 0.0);

for(int i = 0; i < [arr count]; i+=2)
{
    CGPoint startPoint = CGPointFromString([arr objectAtIndex:i]);

    CGPoint endPoint = CGPointFromString([arr objectAtIndex:i+1]);

    ccDrawLine(startPoint, endPoint); 
    //start point and end point are updated on in CCTouchesMoved
    //ccDrawQuadBezier(startPoint, ccp(160,240), endPoint, 1);
}

// restore default GL states
glEnable(GL_TEXTURE_2D);
glEnableClientState(GL_COLOR_ARRAY);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);

}
...