首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >适用于Xcode6的代码不适用于Xcode7

适用于Xcode6的代码不适用于Xcode7
EN

Stack Overflow用户
提问于 2015-07-27 08:04:54
回答 1查看 148关注 0票数 1

这是我在这里的第一个问题,并为我糟糕的英语道歉。

我最近用Xcode6.4做了一个游戏应用程序,它在IOS设备上工作得很好。然而,当我上传Xcode7Beta4来开发我的iOS9应用程序时,出现了一个问题。

我在Xcode 6中使用了这个代码,它限制了我的英雄在X轴上在-1.0和1.0之间翻转,我的英雄不能翻转到-2.0:

代码语言:javascript
复制
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上工作得很好:

代码语言:javascript
复制
  override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {

        if isGameOver {

            restart()

        } else if !isStarted {

            start()

        } else {

            hero.flip()

        }

    }

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

EN

回答 1

Stack Overflow用户

发布于 2015-07-27 08:49:42

如何在翻转函数中放置一个断点,单步执行它要更改的位置,并查看跟踪……

或者,一种集中断点策略是在将值设置为超出范围时向scale属性添加didSet。然后看看跟踪,看看为什么会出问题。

scale修改为如下所示。

代码语言:javascript
复制
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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31643243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档