【发布时间】:2014-08-02 12:13:22
【问题描述】:
我正在使用 xCode 6 beta 4 构建游戏。在 iOS 8 中,一切正常,但在 iOS 7.0 模拟器中,播放器对象不显示。
编辑:感谢 cmets,我将 background.zPosition 更改为 -100,现在我可以看到播放器对象。为什么 iOS 8.0 不需要这样做仍然很奇怪。
我的代码:
class PlayScene : SKScene{
let background = SKSpriteNode(imageNamed: "background1")
let player = SKSpriteNode(imageNamed: "ball")
var ForceX = CGVectorMake(250, 0)
let Gravity = CGVectorMake(0, -15)
var bgVelocity = CGFloat(0)
var maxBgY = CGFloat(0)
var origRunningBGPosition = CGFloat(0)
var isJumping=false
var startedJump = false
override func didMoveToView(view: SKView!) {
self.player.position=CGPointMake(150, 150)
self.player.physicsBody=SKPhysicsBody(rectangleOfSize: self.player.size)
self.player.physicsBody.affectedByGravity=false
self.player.physicsBody.mass=CGFloat(1)
self.background.size=CGSizeMake(self.frame.width, self.frame.height*3)
self.background.anchorPoint=CGPointMake(0, 0)
self.background.position=CGPointMake(0, 0)
bgVelocity+=2.5
self.maxBgY=self.background.size.height-self.frame.height
maxBgY*=CGFloat(-1)
self.origRunningBGPosition=CGRectGetMinY(self.frame)
self.addChild(self.background)
self.addChild(self.player)
}
我发现当我不使用 background 时,我可以看到播放器,但我不明白为什么会发生这种情况以及为什么只在 iOS 7.0 中发生?
【问题讨论】:
-
你试过
zPosition吗? -
@Desdenova 你是什么意思?请解释
-
读取 SKNode 类参考以获取 z 位置。
-
非常感谢!我将 background.zPosition 更改为 -100,现在我可以看到播放器对象。为什么 iOS 8.0 不需要这样做仍然很奇怪。
-
似乎 iOS 8 按子顺序处理 z 位置。尽管如此,请始终尝试将 z 设置为确定。
标签: ios swift sprite-kit