Привет, У меня есть треугольные фигуры в моей игре, для которых требуется столкновениеBitMask для обработки контакта, но я не могу понять, как моделировать физику, кроме circleOfRadius или RectangleOfSize. Как создать собственный физический корпус, чтобы контакты были точными. Это проблема для многих разных персонажей/препятствий в моей игре.Как смоделировать spriteNode, который не является прямоугольником или кругом
var randomNumber = arc4random() % 3
var randomMountainImage:String!
if randomNumber == 0 {
randomMountainImage = "RedMountain.png"
} else if randomNumber == 1 {
randomMountainImage = "OrangeMountain.png"
} else {
randomMountainImage = "BeigeMountain.png"
}
var mountainTexture = SKTexture(imageNamed: randomMountainImage)
var randomMountain = SKSpriteNode(texture: mountainTexture)
var maxPositionOffset = min(100, movementAmount)
randomMountain.position = CGPointMake(CGRectGetMidX(self.frame) + self.frame.width, 200 - gapHeight + CGFloat(movementAmount))
randomMountain.zPosition = 8
//here is the problem
randomMountain.physicsBody = SKPhysicsBody(rectangleOfSize: randomMountain.size)
randomMountain.physicsBody?.dynamic = false
self.addChild(randomMountain)
хорошо известно, что решает все мои проблемы. Большое спасибо. Так просто –
Обратите внимание, что в iOS 8.0 и 8.1 есть известная ошибка «вверх ногами», использующая этот подход, который происходит при повторном использовании текстуры при последующих спрайтах. http://stackoverflow.com/questions/27748034/spritekit-skphysicsbody-bodywithtexture-is-upside-down/ надеюсь, что это не произойдет с вами, но если вы заметите физическое тело с ног на голову, вы будете знать, что произошло. –