我不知道我做错了什么,也许我在这个项目上坐得太久了。但是,我在menuScene中设置了一个设置菜单,我想用这个代码创建一个带有纹理的简单开关按钮:
if ([settingsMenuNode.name isEqualToString:@"checkmark1"]) {
if (self.checkmarkBanner == NO) {
[self.menuCheckmark1 setTexture:[SKTexture textureWithImageNamed:@"menuCheckmark"]];
self.checkmarkBanner = YES;
NSLog(@"YES");
}
if (self.checkmarkBanner == YES) {
[self.menuCheckmark1 setTexture:[SKTexture textureWithImageNamed:@"menuCheckmarkEmpty"]];
self.checkmarkBanner = NO;
NSLog(@"NO");
}
}
每次触摸节点时,我都会获得ON&同时关闭。
任何人都可以帮帮我吗?
checkmarkBanner是我的BOOL,用于设置是否出现游戏中的横幅通知。
答案 0 :(得分:1)
好的,谢谢你的快速解答,所以我已将我的代码更新为此(我添加了一些NSUserDefaults):
//CheckMarkBanner
if ([settingsMenuNode.name isEqualToString:@"checkmarkBanner"]) {
if (self.checkmarkBanner == YES) {
[self.menuCheckmark1 setTexture:[SKTexture textureWithImageNamed:@"menuCheckmarkEmpty"]];
NSString *offString = @"NO";
[[NSUserDefaults standardUserDefaults]setObject:offString forKey:@"checkmark1Banner"];
self.checkmarkBanner = [[[NSUserDefaults standardUserDefaults]stringForKey:@"checkmark1Banner"]boolValue];
NSLog(@"Banner NO");
}
else {
[self.menuCheckmark1 setTexture:[SKTexture textureWithImageNamed:@"menuCheckmark"]];
NSString *onString = @"YES";
[[NSUserDefaults standardUserDefaults]setObject:onString forKey:@"checkmark1Banner"];
self.checkmarkBanner = [[[NSUserDefaults standardUserDefaults]stringForKey:@"checkmark1Banner"]boolValue];
NSLog(@"Banner YES");
}
}