玖叶教程网

前端编程开发入门

GameMaker游戏编程 GML语言(21)_break、exit、continue控制语句

本节学习目标:会用这三个控制语句就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天才能看懂,仅仅是看懂!不过在反复看的过程中体会了其中的妙处,感觉自己的逻辑思维变强了,当然我也是新手,说得不对的地方请见谅。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言