在分配值之前验证值不相等

时间:2017-06-18 07:38:09

标签: swift if-statement sprite-kit

是否有任何点检查是否已将值分配给变量,还是仅仅分配值更好?例如,如果X等于1,是否有任何点检查X是否已经等于1?示例代码如下:

if X != 1 {
    X = 1
}

我问这个问题变成了我正在循环一堆子精灵并将alpha值更改为0,其中大多数已经设置为0.所以我看到检查孩子的alpha值是否有任何好处首先(我看不到好处)。

parent.enumerateChildNodes(withName: "*", using: {
    node, stop in

    // if node.alpha != 0 {

    node.alpha = 0

    // }

})

1 个答案:

答案 0 :(得分:3)

只需正常设置值即可。

在设置之前检查值是否已经为0甚至是什么?它有什么不同?在代码行之后:

node.alpha = 0

无论alpha之前有什么价值,在上述行之后总是为0!

如果你担心表现,不要,直到遇到表现。

设置alpha就像设置任何其他变量一样。除了设置值之外,它没有太大作用。它不会立即改变屏幕上精灵的alpha值。它只会在下一帧中完成。

说你多次这样做:

for _ in 0...10000 {
    node.alpha = 0
    node.alpha = 1
}

屏幕上的节点alpha不会像疯了一样闪烁。最终它将为1,因此将在下一帧中使用alpha = 1绘制节点。