Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode 分数变量随机更新两倍_Xcode_Swift_Sprite Kit_Ios9_Sprite - Fatal编程技术网

Xcode 分数变量随机更新两倍

Xcode 分数变量随机更新两倍,xcode,swift,sprite-kit,ios9,sprite,Xcode,Swift,Sprite Kit,Ios9,Sprite,我正在制作一个游戏,目前我正在制作评分系统。然而,我面临着一个愚蠢的问题。当调用My score var以使用一元运算符(+=)将值增加1时,它有时会将值更新2个点,而不是1,并且它是随机执行的。我已经编写了一个协议,它符合我的GameSecene类,当精灵之间有接触时,我总是调用该方法 func wasCollected(item: gold) { score += item.pointValue } 这个方法可以调用两次而不是一次吗?因为在控制台中,当我尝试在随机时刻收集单个点时

我正在制作一个游戏,目前我正在制作评分系统。然而,我面临着一个愚蠢的问题。当调用My score var以使用一元运算符(+=)将值增加1时,它有时会将值更新2个点,而不是1,并且它是随机执行的。我已经编写了一个协议,它符合我的GameSecene类,当精灵之间有接触时,我总是调用该方法

func wasCollected(item: gold) {

    score += item.pointValue
}
这个方法可以调用两次而不是一次吗?因为在控制台中,当我尝试在随机时刻收集单个点时,我看到数字按2顺序更新。我还尝试通过仅使用score++而不是访问item.pointValue属性来解决此问题,但问题仍然存在

这里是我在自定义类中设置text属性时调用的一个方法,根据我的断点,我将通过执行该方法两次获得一个字符。我做错了什么?基本上我用这个方法做的是,我有一个位图图形,我用它作为我的数字的字体

        for var i:NSInteger = 0; i < text.length; i++
        {

            //Get character in text for current position in loop
            //Getting the scalar encoded value
            let scalarEncoded:unichar = text.characterAtIndex(i)
            //Decoding the scalar
            let scalarDecoded = Character(UnicodeScalar(scalarEncoded))
            //Build texture name from character and font name
            let textureName:NSString = "\(fontName)\(scalarDecoded)"
            print(textureName)

            if i < children.count
            {
                //Reuse existing node
                letter = children[i] as! SKSpriteNode
                letter.texture = graphicsAtlas.textureNamed(textureName as String)
                letter.size = letter.texture!.size()
            }
            else
            {
                //Create a new node if not exist
                letter = SKSpriteNode(texture: graphicsAtlas.textureNamed(textureName as String))
                letter.anchorPoint = CGPointZero
                self.addChild(letter)
            }
            letter.position = pos
            pos.x += letter.size.width + letterSpacing
            totalSize.width = letter.size.width + letterSpacing

            if totalSize.height < letter.size.height
            {
                totalSize.height = letter.size.height
            }

        }
变量i的
:NSInteger=0;i
此功能不会导致您的问题,您可能已将item.pointValue的值更改为多个位置,或者您正在按假设两次调用该函数-请将调用该函数的代码发布到何处。您还可以在该方法中设置一个简单的断点,以检查该函数是否执行了多个位置once@BlakeLockley我把方法贴在上面Blake.对不起,您能否发布调用函数
的块
,您的问题不会由此函数引起,您可能已将item.pointValue的值更改为多个位置,或者您正在按假设两次调用该函数-请将调用该函数的代码发布到何处。您还可以在该方法中设置一个简单的断点,以检查该函数是否执行了多个位置once@BlakeLockley我把方法贴在上面Blake.sorry您能发布正在调用函数
的块吗