这是我在这里的第一个问题,并为我糟糕的英语道歉。
我最近用Xcode6.4做了一个游戏应用程序,它在IOS设备上工作得很好。然而,当我上传Xcode7Beta4来开发我的iOS9应用程序时,出现了一个问题。
我在Xcode 6中使用了这个代码,它限制了我的英雄在X轴上在-1.0和1.0之间翻转,我的英雄不能翻转到-2.0:
func flip() {
isUpsideDown = !isUpsideDown
var scale: CGFloat!
if isUpsideDown {
scale = -1.0
} else {
scale = 1.0
}
let translate = SKAction.moveByX(0, y: scale*(size.height + kMLGroundHeight), duration: 0.1)
let flip = SKAction.scaleYTo(scale, duration: 0.1)
runAction(translate)
runAction(flip)
}但是现在在Xcode7中,这个cod似乎不能工作。一开始看起来没问题,但后来英雄开始翻转到-2.0,-3.0,这一直持续到英雄走出画面。
这也是我的游戏场景代码,它在Xcode 6上工作得很好:
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
if isGameOver {
restart()
} else if !isStarted {
start()
} else {
hero.flip()
}
}我是个新手,如果你能回答我的问题,我将不胜感激。
发布于 2015-07-27 08:49:42
如何在翻转函数中放置一个断点,单步执行它要更改的位置,并查看跟踪……
或者,一种集中断点策略是在将值设置为超出范围时向scale属性添加didSet。然后看看跟踪,看看为什么会出问题。
将scale修改为如下所示。
var scale:CGFloat!{
didSet{
if scale < -1.0 || scale > 1.0{
print("scale is out of bounds : \(scale)")
print("stop here")//<< put breakpoint on this line
}
}
}如果您需要有关使用断点的帮助,请查看this。
https://stackoverflow.com/questions/31643243
复制相似问题