AS3基础教程-第22课-点名小程序(上)

2024-10-15 01:18:36

本节课仍然是以实例的形式回顾前面章节所学的知识点,不仅温故知新,而且学有所得。本节课讲述的是 点名 的小程序

工具/原料

flashCS6

一、界面设计:

1、打开flashCS6之后,新建AS3的flash文档

2、界面设计:界面很简单,一个动态文本【用于显示人名】,一个按钮【用于切换人名】动态文本的实例名设为names_txt按钮的实例名设为click_btn由于动态文本要显示多个人名,在这里使用设备字体较好一些而且,为了美观,将文本设置为 居中对齐 更好一些

AS3基础教程-第22课-点名小程序(上)

二、代码编写:

1、首先,给按钮添加单击命令。使用代码片段功能,轻松搞定,flash会自动生成Actions图层,并将代码写好。我们仍然是将代码内的注释都删掉,只保留精华部分然后,在第一行的开头位置敲一下回车,将后续代码写在最上面。

2、然后,需要将所有的人名用变量存储起来。如果每一个人都用一个变量存储,那太麻烦了。所以,当然要使用数组了,数组就是为了解决这类情况而被设计出来的。如果人名不多,只有十几个,可以一次性的写入数组内;如果人名有数十个,虽然可以一次性的写入数组,但是书写和阅读、修改时都很费劲,此时可以使用数组的push()方法 续写之。在这里,我分成三块来写,使用push()方法 进行续写。代码如下:var renming:Array=["乔振宇","宋茜","刘诗诗","赵丽颖","迪丽热巴"]renming.push("张艺兴","胡歌","吴磊","杨幂","林更新","杨洋","杨紫","陈学冬")renming.push("范冰冰","刘涛","吴奇隆","陈赫","李晨","张翰","柳岩","高圆圆")

3、接下来,就是在单击按钮的响应函数体内部书写代码了。每单击一次按钮,舞台上的动态文本就显示一个人名。那么,仅需调用数组内的元素即可,当然是通过数组的索引来调用元素了。索引值恰好是数学课中的自然数【注意:现如今的自然数包括数字0】而且,数组的索引值恰好是从0开始,逐一递增的那么,将索引值定义为uint数字类型再合适不过了。故此,需要在按钮单击的外部,先定义一个uint数字类型的变量,将定义的语句写在步骤2的后面即可:var suoyin:uint

4、那么,按钮单击的响应函数体内部,应该先生吮钾熨追成一个随机数,并赋值给suoyin这个变量。这个随机数的值团蝣逅捎必须在0和数组的长度之间【包括0,但不包括数组的长度值】。只有这样,才可以正常访问数组内的各个元素。说明一下:假如说,数组的长度是6,那么,其索引值依次是012345共6个索引值,但是最后一个索引值的数值是5【5=6-1】那么,代码如下【加在按钮的相应函数体内的第一行】:suoyin=Math.random()*renming.lengthtrace(suoyin)//跟踪一下这个索引值,方便我们对照这里需要说明一下:因为:0≤Math.random()的返回值 <1所以:0≤Math.random()*renming.length的返回值<renming.length然后将其赋值给了一个uint数字类型的变量,flash会自动的将小数转换为整数,转换时,自动的将小数点后的数字删掉【不进行四舍五入操作】

5、接下来,当然是将人名显示在舞台的动态文本内了。这个太简单了,在步骤4的后面新增一行代码:names_txt.text=renming[suoyin]

6、至此,本例就结束了。实测时,我们发现,单击按钮时,显示的人名,会出现重复的情况。那么,可否让出现过的人名不再出现呢?答案是肯定的!留待下节课揭晓,敬请期待吧。

三、本例的完整代码:

1、var renming:Array=["乔振宇","宋茜","刘诗诗",&qu泠贾高框ot;赵丽颖","迪丽热巴"]renming.push("张艺兴","胡歌","吴磊","杨幂","林更新","杨洋","杨紫","陈学冬")renming.push("范冰冰","刘涛","吴奇隆","陈赫","李晨","张翰","柳岩","高圆圆")var suoyin:uintclick_btn.addEventListener(MouseEvent.CLICK, fl_MouseClickHandler);function fl_MouseClickHandler(event:MouseEvent):void{ suoyin=Math.random()*renming.length trace(suoyin) names_txt.text=renming[suoyin]}

猜你喜欢