Xcode 分数变量随机更新两倍
我正在制作一个游戏,目前我正在制作评分系统。然而,我面临着一个愚蠢的问题。当调用My score var以使用一元运算符(+=)将值增加1时,它有时会将值更新2个点,而不是1,并且它是随机执行的。我已经编写了一个协议,它符合我的GameSecene类,当精灵之间有接触时,我总是调用该方法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 } 这个方法可以调用两次而不是一次吗?因为在控制台中,当我尝试在随机时刻收集单个点时
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您能发布正在调用函数的块吗