2016-08-27 8 views
0

Я нашел этот код при переполнении стека.Swift SpriteKit, создающий изменяемый путь (CGMutablePathRef)

CGMutablePathRef path = CGPathCreateMutable() 
CGPathMoveToPoint(path, nil, 0, -(self.tileSize.height/2)) 
CGPathAddLineToPoint(path, nil, (self.tileSize.width/2), 0) 
CGPathAddLineToPoint(path, nil, 0, (self.tileSize.height/2)) 
CGPathAddLineToPoint(path, nil, -(self.tileSize.width/2), 0) 
CGPathCloseSubpath(path) 

сво часть ответа и код должен создать путь, который имеет форму изометрической плитки, но ее не работает. Итак, кто-нибудь знает, почему и как создать этот mutablePath? Спасибо.

+0

Уточнитните '« но ее не работает»'. Каков ваш ожидаемый результат и что происходит вместо этого? Наконец, это код Objective-C, а не Swift. –

+0

в первой строке: «CGMutablePathRef = pathCGPathCreateMutable()« Я получаю сообщение об ошибке: «использование неразрешенного идентификатора« pathCGPathCreateMutable ».. что-то не так с этим кодом. Я хочу дать ему размер, и я вернусь к непрозрачному пути i может использовать. Если я нажму внутри этого пути, то произойдет что-то – frankibanki

ответ

1

Если ваша проблема заключается в том, что код не компилируется, вам просто нужно, чтобы преобразовать его из Objective-C для Swift

let path = CGPathCreateMutable() 
CGPathMoveToPoint(path, nil, 0, -(self.tileSize.height/2)) 
CGPathAddLineToPoint(path, nil, (self.tileSize.width/2), 0) 
CGPathAddLineToPoint(path, nil, 0, (self.tileSize.height/2)) 
CGPathAddLineToPoint(path, nil, -(self.tileSize.width/2), 0) 
CGPathCloseSubpath(path) 
+0

ах, отлично! Это работает. Большое вам спасибо. – frankibanki