0

cocos2dを使ってトレースフィンガーゲームを作ってみました。

指を動かしてアルファベットを書くと、結果は次のようになります。

http://www.freeimagehosting.net/m39l6

ソースコード:

-(void)ccTouchMoved:(UITouch *)touch withEvent:(UIEvent *)event{
    CGPoint touchLocation = [self convertTouchToNodeSpace:touch];
    CGPoint oldTouchLocation = [touch previousLocationInView:touch.view];
    oldTouchLocation = [[CCDirector sharedDirector]convertToGL:oldTouchLocation];
    oldTouchLocation = [self convertToNodeSpace:oldTouchLocation];

    NSValue *oldVal = [NSValue valueWithCGPoint:oldTouchLocation];
    NSValue *val = [NSValue valueWithCGPoint:touchLocation];
    [trails addObject:oldVal];
    [trails addObject:val];

}

描画方法:

-(void)draw{
    for (int i=0; i<trails.count-1; i++) {
           origin = ((NSValue *)[trails objectAtIndex:i]).CGPointValue;
           destination = ((NSValue *)[trails objectAtIndex:i+1]).CGPointValue;
           ccDrawLine(origin, destination); 
    }

}

glEnable(GL_LINE_SMOOTH)を試しました。しかし、それはデバイスでは機能していません。

赤丸の部分を修正する方法はありますか?

どうも。

4

1 に答える 1

0

使用しているgl線幅は、iPhoneで許可されている最大値を超えています。これは、その数を超えると、奇妙なプラスの形になります。代わりに行う必要があるのは、CCRenderTextureを使用して絵筆のようにスプライトを連続的に描画することです。このチュートリアル、特にスケッチの描画に関する部分を読んでください。

http://www.learn-cocos2d.com/2011/12/how-to-use-ccrendertexture-motion-blur-screenshots-drawing-sketches/#sketching

于 2012-07-02T22:10:39.900 に答える