我正在使用Xcode,SKSpriteKit并正在制作游戏。
我需要我的程序在函数中绘制四边形。
-(void) DrawQuad {
//Draw Quadrilateral here with points (a,b), (c,d), (e,f), (g,h)
}
我已经尝试过其他链接/帮助但由于某些原因,我粘贴的代码无效。
例如,在Draw Rectangle/ Circle and Triangle in Spritekit with Two Colors. . .,我尝试将该函数复制并粘贴到我的代码中(在.mm文件中)。它没有用:
即使在程序中进行建议的更改仍然无法解决问题。
答案 0 :(得分:1)
SKShapeNode绘制由Core Graphics路径定义的形状。如果我没记错的话,UIBezierPath不是其中的一部分,但你可以使用CGPath。
请看这个示例代码:
SKShapeNode *myNode = [[SKShapeNode alloc] init];
myNode.position = CGPointMake(300,300);
myNode.zPosition = 100;
CGMutablePathRef myPath = CGPathCreateMutable();
CGPathMoveToPoint(myPath, nil, 0, 0);
CGPathAddLineToPoint(myPath, nil, 0, 100);
CGPathAddLineToPoint(myPath, nil, 100, 100);
CGPathAddLineToPoint(myPath, nil, 100, 0);
CGPathAddLineToPoint(myPath, nil, 0, 0);
myNode.path = myPath;
CGPathRelease(myPath);
myNode.strokeColor = [SKColor redColor];
[self addChild:myNode];