如何为不是矩形或圆形的精灵节点建模
How to model a spriteNode that isnt a rectangle or a circle
您好,我的游戏中有一些三角形需要 collisionBitMask 来处理接触,但除了 circleOfRadius 或 RectangleOfSize 之外,我不知道如何为 physicsBody 建模。如何制作自定义物理体以使接触准确。这是我游戏中许多不同 characters/obstacles 的问题。
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)
您可以将 SKTexture
设置为您的 SKPhysicsbody
参数:
randomMountain.physicsBody = SKPhysicsBody(texture: mountainTexture, size: mountainTexture.size)
您好,我的游戏中有一些三角形需要 collisionBitMask 来处理接触,但除了 circleOfRadius 或 RectangleOfSize 之外,我不知道如何为 physicsBody 建模。如何制作自定义物理体以使接触准确。这是我游戏中许多不同 characters/obstacles 的问题。
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)
您可以将 SKTexture
设置为您的 SKPhysicsbody
参数:
randomMountain.physicsBody = SKPhysicsBody(texture: mountainTexture, size: mountainTexture.size)