2015-04-15 4 views
0

Я использую Xcode, SKSpriteKit и создаю игру.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). Она не работает:

enter image description here

enter image description here

Даже делая предложенные изменения в программе по-прежнему не решает проблему.

ответ

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]; 
+0

Спасибо - это работает! –

 Смежные вопросы

  • Нет связанных вопросов^_^