Проблема с плавающей точкой с SKShapeNode в Swift - PullRequest
1 голос
/ 06 апреля 2020

У меня сейчас странная проблема с плавающей точкой. Кто-нибудь может объяснить это?

import SpriteKit

let height: CGFloat = 20.0
let width: CGFloat = 150.0

let shapeNode: SKShapeNode = SKShapeNode(rectOf: CGSize(width: width, height: height))
print(shapeNode.frame.size.width, shapeNode.frame.size.height) //152.6999969482422 22.700000762939453

1 Ответ

1 голос
/ 06 апреля 2020

Это то, что вы хотите:

import SpriteKit

let height: CGFloat = 20.0
let width: CGFloat = 150.0

let shapeNode: SKShapeNode = SKShapeNode(rectOf: CGSize(width: width, height: height))
shapeNode.isAntialiased = false
shapeNode.lineWidth = 0
print(shapeNode.frame.size.width, shapeNode.frame.size.height) // 150.0 20.0\n

Помните: https://developer.apple.com/documentation/spritekit/skshapenode

... заключается в том, что формы растеризуются динамически во время выполнения для получения четких деталей и более гладких краев.

...