我试图将每次单击SKNode
的alpha设置为0或1。我的代码当前将其关闭,但不会重新打开。知道为什么吗?
- (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");
}
}
最佳答案
您可能会遇到著名的浮点四舍五入问题。使用调试并检查值。 alpha可能不完全为零。
关于ios - 触摸打开和关闭灯,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37336942/