我正在尝试在游戏中创建不同的关卡。目前,用户可以点击进入任何级别并播放该级别。我想阻止用户点击 2 级,除非他们已通过 1 级。
我有一个 VC 类,在一个级别结束时说级别通过,清除下一个级别。在这里我会有一个计数器,所以如果计数器 = 1 清除 2 级等。
我不确定如何使按钮可点击。我希望解锁的关卡在通过上一个关卡之前是不可点击的并且颜色略有不同。
关于如何做到这一点的任何想法?我也愿意接受更好的解决方案?
我正在尝试在游戏中创建不同的关卡。目前,用户可以点击进入任何级别并播放该级别。我想阻止用户点击 2 级,除非他们已通过 1 级。
我有一个 VC 类,在一个级别结束时说级别通过,清除下一个级别。在这里我会有一个计数器,所以如果计数器 = 1 清除 2 级等。
我不确定如何使按钮可点击。我希望解锁的关卡在通过上一个关卡之前是不可点击的并且颜色略有不同。
关于如何做到这一点的任何想法?我也愿意接受更好的解决方案?
更传统的 Objective-C 语法:
[button setEnabled:YES];
和,
[button setEnabled:NO];
我会通过 Interface Builder 取消设置 2 级及以上按钮的启用状态。这样,默认状态是禁用的。
然后,只有当它们满足要求时,才将按钮的启用状态设置为 YES。
您需要保存它们满足要求的事实,以便您可以在视图加载时正确设置按钮的状态。
查看UserDefaults
该类以轻松保存用户数据。
要禁用按钮,请使用以下代码:
button.enabled = NO;
要识别按钮,请给它一个带有舞台级别的标签。
button.tag = LEVEL_OF_STAGE;
要从 parentView 中检索按钮,
UIButton *btn = [parentView viewWithTag:STAGE_NUMBER];