本节学习目标:会用这三个控制语句就OK!
break语句
一、break语句
break 语句通常用在循环语句和switch语句中。当 break 用于switch中时,可使程序跳出switch而执行switch以后的语句;如果没有break语句,则将成为一个死循环而无法退出。break在switch中的用法已在前面介绍时的例子中碰到,这里不再举。
当 break 语句用于 for, repeat, while, do... until 循环语句中时,可使程序终止循环而执行循环后面的语句, 通常 break语句总是与 if 语句联在一起,用来跳出循环如下例:
【例】
create:
for(i=0;i<1000;i+=1)
{
if(i==2){break;} //if在循环里面!结合break跳出循环,下下面的例子讲解单独break
}
show_message(i)
运行结果:输出2,因为i等于2是就跳出循环了即:break了!
create:
for(i=0;i<1000;i+=1)
{
}
show_message(i)
运行结果:没有break进行控制,重头运行到尾,输出1000!
二、break常见问题:
1) break 是用来跳出循环的!注意是循环,若是单独出现在if-else语句中将会出现系统错误!
例: create:
if(2==2){break;} //if是条件语句~~!!不是循环语句哦!!
show_message("aaaaa");
系统提示错误!本意是不执行show_message函数,但是break是用来跳出循环的!必须只能出现在循环语句内部!
2) 在多层循环中, 一个break 语句只向外跳一层。
3) 若想跳出当前事件而不执行后面的语句请用exit(注意不是游戏本身)。
例: create:
show_message("第一句在执行");
break;
show_message("第二句在执行");
本意是不执行create事件break后面的语句!系统又提示错误了哦!break是用来跳出循环的!必须只能出现在循环语句内部!切记!!!
例: create:
show_message("第一句在执行");
exit;
show_message("第二句在执行");
上例改用exit成功运行~!!
exit语句
一、exit语句格式
exit;
这段语句会停止脚本或一段代码的执行。(这不会停止整个游戏的运行!要想这样你需要使用game_end(); 函数,后面会讲到)
exit简单地结束执行当前的脚本或事件。注意这里的差异,如果你使用一个脚本退出只会退出脚本并返回到代码,但是如果你使用这个事件在一个代码块内部的对象,它将退出整个事件,该事件后面的语句不执行了。
例: create:
a=get_integer("输入个数字",4)
if(a>3){exit;};
show_message("因为我运行了,所以你输入的数字小于3");
上面的代码检查变量a 如果它为真,那么程序跳出该事件后面的代码不执行了,否则它继续并运行代码的其他部分。
continue语句
continue 语句的作用是跳过循环本中剩余的语句而强行执行下一次循环。continue 语句只用在 for、while、do等循环体中,常与 if 条件语句一起使用,用来加速循环。
1) while(表达式1)
{ ……
if(表达式2){break;}
……
}
2) while(表达式1)
{ ……
if(表达式2){continue;}
……
}
create:
for (i=0; i<10; i+=1)
{
if (i<5){continue;}
show_message(i) //显示5、6、7、8、9
}
create:
a=get_integer("抢劫!给老子100万",4)
do
{
if(a<1000000)
{
a=get_integer("继续拿钱来",4)
continue;
}
show_message("这还差不多!饶过你了~~!")
}
until(a>1000000)
学习GML语言,要知道程序先执行哪一步,再执行哪一步,每一步是怎么执行的,每步执行后各个变量的值有何变化,这些都弄清楚了,才能说明你看懂了程序而已,看懂程序是你进步的开始!不能抱着感觉是这么个意思的想法去学习!看懂程序后再试着不看程序自己实现出来,这样你的逻辑思维就会一步步提高!
会用内置函数是最基础的知识,不要因为会了几个内置函数而沾沾自喜,这个函数你能自己敲代码实现吗?所以本教程的算法篇看起来没什么用,实际上确是你做游戏最有用的,例如背包、装备系统,就是二维数组的应用而已!算法没学好,你的水平永远提高不了。遇到不懂的地方,没关系,反复思考、反复实验、反复看、今天不会说不定过几天就看懂了,我学习算法时经常一个小算法要看1到2天才能看懂,仅仅是看懂!不过在反复看的过程中体会了其中的妙处,感觉自己的逻辑思维变强了,当然我也是新手,说得不对的地方请见谅。
本文暂时没有评论,来添加一个吧(●'◡'●)