【发布时间】:2015-07-27 00:04:54
【问题描述】:
这是我在这里的第一个问题,对于英语不好表示歉意。
我最近使用 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 中,这个 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()
}
}
我是这方面的新手,如果你能回答我的问题,我将不胜感激。
【问题讨论】:
-
size.height 和 kMLGroundHeight 的值是多少?如果它们的总和大于 1,则英雄将在 y 方向上移动得比您预期的 (-1, 1) 范围更远。
标签: swift xcode6 sprite-kit xcode7