我尝试使用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)。但这不适用于该设备。
任何想法如何修复红圈部分?
THX。
答案 0 :(得分:0)
您使用的gl线宽大于iPhone上允许的最大值。当你超过这个数字时会发生这种情况,你得到那些奇怪的加上形状。你需要做的是使用CCRenderTexture像画笔一样连续画一个精灵。阅读本教程,特别是有关绘制草图的部分。