Ja aktualizację kodu do szybkiego 3. Mam stworzył ścieżkę niestandardową dla mojego obiektu spritekit który działa w szybkim 2. Jednakże obecnie otrzymuję błąd kompilatora:CGPath nie pracuje w Swift 3
Nil is not compatible with expected argument type 'Unsafe Pointer CGAffineTransform'
let offsetX = player.size.width * player.anchorPoint.x
let offsetY = player.size.height * player.anchorPoint.y
let path = CGMutablePath()
CGPathMoveToPoint(path, nil, 10 - offsetX, 16 - offsetY)
CGPathAddLineToPoint(path, nil, 10 - offsetX, 0 - offsetY)
CGPathAddLineToPoint(path, nil, 24 - offsetX, 0 - offsetY)
CGPathAddLineToPoint(path, nil, 24 - offsetX, 16 - offsetY)
CGPathAddLineToPoint(path, nil, 24 - offsetX, 16 - offsetY)
CGPathAddLineToPoint(path, nil, 28 - offsetX, 40 - offsetY)
CGPathAddLineToPoint(path, nil, 18 - offsetX, 46 - offsetY)
CGPathAddLineToPoint(path, nil, 6 - offsetX, 36 - offsetY)
CGPathAddLineToPoint(path, nil, 6 - offsetX, 18 - offsetY)
path.closeSubpath()
Błąd służy do przekazywania wartości zerowej w drugim argumencie podczas dodawania do ścieżki. Podjęto próbę podania niebezpiecznego wskaźnika:
var tr = CGAffineTransform.identity
CGPathMoveToPoint(path, &tr, 10 - offsetX, 16 - offsetY)
....
, ale potem pojawił się kolejny dziwny błąd.
CGPathMoveToPoint is unavailable. Use move(to: transform:)
Jednak nie było żadnej funkcji przenoszenia z nazwą argumentu do. Był jednak ruch (doParent:) jednak.
dziękuję! Nie myślałem, aby sprawdzić zmienną dla funkcji członka. – patrickd