我想在cocos 2d中用手指触摸画线。

-(void) ccTouchesMoved:(NSSet *)inappropriateTouches withEvent:(UIEvent *)event
{
    UITouch *touch = [inappropriateTouches anyObject];

    CGPoint currentTouchArea = [touch locationInView:[touch view] ];
    CGPoint lastTouchArea = [touch previousLocationInView:[touch view]];

    currentTouchArea = [[CCDirector sharedDirector] convertToGL:currentTouchArea];
    lastTouchArea = [[CCDirector sharedDirector] convertToGL:lastTouchArea];

    // throw to console my inappropriate touches
    NSLog(@"current x=%2f,y=%2f",currentTouchArea.x, currentTouchArea.y);
    NSLog(@"last x=%2f,y=%2f",lastTouchArea.x, lastTouchArea.y);

    glColor4f(0.8, 1.0, 0.76, 1.0);
    glLineWidth(6.0f);
    ccDrawLine(currentTouchArea, lastTouchArea);
}

我使用此代码,但屏幕上未显示任何内容。我的代码有什么问题?

最佳答案

您要在draw方法中进行的所有OpenGL绘图。像这样:

-(void)draw
{
    if(lastTouchArea != 0)
    {
       glColor4f(0.8, 1.0, 0.76, 1.0);
       glLineWidth(6.0f);
       ccDrawLine(currentTouchArea, lastTouchArea);
       lastTouchArea = 0;
    }
}

09-17 13:40