这是我的第一个问题,并为不良英语道歉。
我最近使用Xcode 6.4制作游戏应用程序,它在IOS设备中运行良好。但是,当我上传Xcode 7 Beta 4来为IOS 9开发我的应用程序时出现了问题。
我在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)
}
但现在在Xcode 7中,这种鳕鱼似乎不起作用。首先它看起来没问题,但随后英雄开始转向-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()
}
}
我是新手,如果你回答我的问题,我将不胜感激。
答案 0 :(得分:0)
如何在翻转功能中设置断点并逐步切换到改变的位置并查看跟踪......
或者,一个集中断点策略是在didSet
属性中添加scale
,以便将值设置为超出范围。然后查看跟踪以了解出现问题的原因。
将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。