我有一个变量,我需要在游戏运行时经常检查.为了简化这一点,检查是:if (score >= achievement1) {do something}.
把这个检查放在Update()每帧调用的函数中似乎有点过分了.
所以相反,我在InvokeRepeating函数中调用Start ();函数:
InvokeRepeating ("checkscoreforachievement", 0f, 2f);
Run Code Online (Sandbox Code Playgroud)
这样聪明还是有更好的方法呢?最终结果应该是在达到一定分数后的几秒钟内,触发成就.
我问的原因是,当我的游戏运行时,我还需要做更多的事情,所以我最终会选择其中的一些进程.想知道这是不是太多的资源消耗.找不到关于这个主题的好文档.
我在游戏中创建了一个键盘.我创建的游戏对象有10个按钮:0-9.玩家必须输入4位数代码才能打开门.一旦玩家输入第一个数字,它就会显示在键盘的屏幕上.
我已经完成了所有基本代码,但我确信我已经以非常低效的方式完成了这项工作.现在,我已将以下功能附加到我的一个键上,实际上是数字键1:
public void Key1() {
if (digit1entered == false) {
digit1 = 1;
displaycode.text = digit1.ToString () + digit2.ToString () + digit3.ToString () + digit4.ToString ();
print ("First digit entered");
digit1entered = true;
} else {
if (digit1entered == true && digit2entered == false) {
digit2 = 1;
digit2entered = true;
displaycode.text = digit1.ToString () + digit2.ToString () + digit3.ToString () + digit4.ToString ();
print ("2nd digit entered");
} else {
if (digit2entered == true && digit3entered == false) …Run Code Online (Sandbox Code Playgroud)