在Xcode 6中工作的代码不能与Xcode 7一起使用

时间:2015-07-27 00:04:54

标签: swift xcode6 sprite-kit xcode7

这是我的第一个问题,并为不良英语道歉。

我最近使用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()

        }

    }

我是新手,如果你回答我的问题,我将不胜感激。

1 个答案:

答案 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