我在游戏中添加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);
}