触摸打开和关闭灯

时间:2016-05-20 02:19:35

标签: ios objective-c sprite-kit

我尝试在每次点击0或1时设置SKNode的字母。我的代码目前将其关闭,但不会重新开启。知道为什么吗?

- (void)handleTouchedPoint:(CGPoint)touchedPoint {
    touchedNode = [self nodeAtPoint:touchedPoint];

    // Detects which node was touched by utilizing names.
    if ([touchedNode.name isEqualToString:@"play"]) {
        isOnPlay = true;
        NSLog(@"Touched play");
    }
    if ([touchedNode.name isEqualToString:@"light1"]) {
        //NSLog(@"%.2f", touchedNode.alpha);
        if(touchedNode.alpha != 0.0)
        {
            NSLog(@"Off");
            touchedNode.alpha = 0.0;
            //[touchedNode setAlpha:0.0];
        }
        else{
            NSLog(@"On");
            touchedNode.alpha = 1.0;
            //[touchedNode setAlpha:1.0];
        }
        NSLog(@"Touched light");
    }
}

1 个答案:

答案 0 :(得分:1)

您可能正在遇到着名的浮动舍入问题。使用debug并检查值。 alpha可能不完全为零。