多语言展示
当前在线:488今日阅读:19今日分享:20

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

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

flashCS6

一、界面设计:
1

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

2

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

二、代码编写:
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的返回值

5

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

6

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

三、本例的完整代码:

var renming:Array=['乔振宇','宋茜','刘诗诗','赵丽颖','迪丽热巴']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]}

推荐信息