问题描述
播放器功能
@objc func playerFunction(){
player = SKSpriteNode(imageNamed: "Player")
player.name = "Hero"
player.size = CGSize(width: 80,height: 80)
player.physicsBody = SKPhysicsBody(rectangleOf: player.size)
player.physicsBody?.affectedByGravity = false
player.physicsBody?.isDynamic = false
player.physicsBody?.allowsRotation = false
player.physicsBody!.categoryBitMask = 1
player.physicsBody!.collisionBitMask = 0
player.physicsBody!.contactTestBitMask = 2 | 5 | 6 | 7
player.physicsBody?.veLocity.dx = 0
player.physicsBody?.veLocity.dy = 0
player.zPosition = 1
player.position = CGPoint(x: self.frame.width / 2 - 700,y: self.frame.height / 2 - player.frame.height)
self.addChild(player)
}
平台方法
@objc func platformFunction (){
platform_One = SKSpriteNode(imageNamed: "Platform")
platform_One.physicsBody = SKPhysicsBody(rectangleOf: platform_One.size)
platform_One.physicsBody?.affectedByGravity = false
platform_One.physicsBody?.isDynamic = false
platform_One.zPosition = 4
platform_One.position = CGPoint(x: 1 + self.frame.width / 2 - 570,y: self.frame.height / 2 - 260)
self.addChild(platform_One)
platform_Two = SKSpriteNode(imageNamed: "Platform")
platform_Two.physicsBody = SKPhysicsBody(rectangleOf: platform_Two.size)
platform_Two.physicsBody?.affectedByGravity = false
platform_Two.physicsBody?.isDynamic = false
platform_Two.physicsBody!.categoryBitMask = 7
platform_Two.physicsBody!.collisionBitMask = 1
platform_Two.physicsBody!.contactTestBitMask = 1
platform_Two.zPosition = 5
platform_Two.position = CGPoint(x: 1 + self.frame.width / 2 - 420,y: self.frame.height / 2 - 260)
self.addChild(platform_Two)
上面添加了播放器方法和平台方法代码,即使物理如上所述,播放器也不会降落在平台顶部而是玩家穿过平台。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)