Nil не совместим с ожидаемым типом аргумента «UnsafePointer <CGAffineTransform>». Создание собственного тела физики. - PullRequest
0 голосов
/ 14 ноября 2018

Итак, мне нужно было создать собственное физическое тело для моего спрайта в моем проекте. Я искал простой способ сделать это, так как понятия не имел, как это сделать. Мне указали на этот сайт, который генерирует физическое тело на основе точек, которые вы строите. Когда я скопировал его в свой проект и изменил некоторые детали, чтобы они соответствовали моему спрайту, я встретился со следующей ошибкой: «Nil не совместим с ожидаемым типом аргумента« UnsafePointer »».

Вот код для физической формы тела:

var offsetX = CGFloat(player.frame.size.width * player.anchorPoint.x)
    var offsetY = CGFloat(player.frame.size.height * player.anchorPoint.y)

    var path = CGMutablePath()

    CGPathMoveToPoint(path, nil, 77 - offsetX, 175 - offsetY)
    CGPathAddLineToPoint(path, nil, 86 - offsetX, 173 - offsetY)
    CGPathAddLineToPoint(path, nil, 177 - offsetX, 116 - offsetY)
    CGPathAddLineToPoint(path, nil, 200 - offsetX, 100 - offsetY)
    CGPathAddLineToPoint(path, nil, 187 - offsetX, 92 - offsetY)
    CGPathAddLineToPoint(path, nil, 86 - offsetX, 28 - offsetY)
    CGPathAddLineToPoint(path, nil, 77 - offsetX, 26 - offsetY)
    CGPathAddLineToPoint(path, nil, 62 - offsetX, 29 - offsetY)
    CGPathAddLineToPoint(path, nil, 25 - offsetX, 39 - offsetY)
    CGPathAddLineToPoint(path, nil, 18 - offsetX, 45 - offsetY)
    CGPathAddLineToPoint(path, nil, 18 - offsetX, 156 - offsetY)
    CGPathAddLineToPoint(path, nil, 26 - offsetX, 161 - offsetY)
    CGPathAddLineToPoint(path, nil, 62 - offsetX, 172 - offsetY)
    CGPathAddLineToPoint(path, nil, 70 - offsetX, 174 - offsetY)


    path.closeSubpath()

    player.physicsBody = SKPhysicsBody(polygonFrom: path)

Эта ошибка появляется для каждой из строк CGPathAddLineToPoint (). Я знаю, что это неправильно, я просто не знаю, как правильно написать, может кто-нибудь помочь мне с этим?

...