Flash MX 2004 编程(AS2.0)教程(五)

编程|教程

1.3.4独立脚本文件

打开菜单“文件->新建”,从新建文档对话框中选择“动作脚本文件”可以建立独立.AS文件,这种文件的最大优点是可以重复使用。比方说,你在一个项目中建立的脚本可以放在独立的.AS文件中,其他项目要使用到类似的功能,你就可以直接调用这个.AS文件中的代码。这样可以大大提高开发效率,减少代码的冗余程度。



1.4第一个脚本程序

下面我们通过一个非常简单的ActionScript程序演示ActionScript的操作过程,虽然这个例子看上去有点“傻傻的”,但麻雀虽小五脏俱全,它涵盖的ActionScript知识还是比较全面的。这个例子

1.4.1外部数据文件

建立一个纯文本文件,命名为substrahend.txt,输入以下的内容,然后将其和示例场景存放到同一个文件夹当中。



在后面的实例中,我们将会读取这个文件的内容并将其中的数据运用于程序中,这是Flash应用开发的一种重要方法,也就是“数据、代码相分离”,.fla文件中尽量只包含程序的执行代码,而将程序执行中需要使用的数据用单独的文本文件保存。这样,如果我们需要修改数据,就可以直接编辑文本文件,而不用大费周章地修改程序。修改程序不仅麻烦,容易疏漏,而且很容易把程序搞得一塌糊涂。这是我们在这个系列教程中第一次使用“数据、代码相分离”的方法,将来还会用的更多,你一定要掌握这种方法的要点,然后加以运用,这样你的程序才会更加稳定、灵活。

1.4.2影片剪辑

1、启动Flash MX 2004,建立一个新场景文件,向其中添加一个影片剪辑,命名为Movie_Clip,进入这个影片剪辑的编辑状态。

2、向这个影片剪辑中添加三个帧(具体数量可以根据你的实际情况来设置),每个帧中添加一个文本对象,适当设置内容。在后面的制作中,我们将根据用户的输入,在这个影片剪辑内部的帧之间跳动播放从而实现对用户输入的反馈。在这个例子中,我们设置三个文本对象中显示的内容分别是“请输入参数”、“参数错误”和“运算成功”。

3、分别选择这三个帧,在下面的脚本面板中输入这样的语句

this.stop()

这个语句的作用非常简单,就是暂停影片播放。在下面的制作中,我们将把这个影片剪辑放到主场景中建立一个影片剪辑实例,并用这个实例向用户提供反馈,我们当然不希望用户还没有输入,这个影片剪辑就不断地跳动,那还谈什么交互性呢?所以,用stop()语句让这个影片剪辑在每一帧播放完后立刻暂停下来。

这个语句中有个this,这个变量可谓千变万化无所,无所不能,在影片剪辑内部使用this,这个this就指影片剪辑本身,在影片剪辑实例中使用,他就指当前的影片剪辑实例本身。所以这是一个上下文相关的变量,使用时要格外小心,要搞清楚自己正在什么样的上下文中使用这个变量。

1.4.3主场景设计



1、进入主场景的编辑状态,建立两个层,分别命名为“界面”和“反馈”,界面层用来添加用户输入数据的窗口、确认输入的按钮。反馈层添加一个影片剪辑Movie_Clip的一个实例来对用户输入进行反馈。

2、在“界面”层中添加若干个文本对象,设置其内容,除第二个文本对象设置为“输入文本”(我们将使用这个文本对象接收用户的输入),其余的使用默认的“静态文本”。

这里和后面的程序代码相关的文本对象有三个,第一个文本对象显示从文本文件中读取出来的数据,其名称为minusend_txt(注意命名的后缀,原理在前面已经解释过了);第二个接收用户输入的数据,其名称为subtrahend_txt;最后一个显示数据,名称为result_txt。

3)现在添加第三个层,将其命名为“脚本”,单击“库”面板右下方的添加按钮,新建一个“按钮”类型的原件,简单设置一下按钮的外观(这个教程中我们注意的焦点是脚本编写,而不是界面),将其拖放到“脚本”层当中。

时间: 2024-11-04 22:25:16

Flash MX 2004 编程(AS2.0)教程(五)的相关文章

Flash MX 2004 编程(AS2.0)教程(六)

编程|教程 1.4.4代码编写 现在开始进入最麻烦的步骤--代码编写,我们将会接触到很多新的东西. 1.文本文件数据加载 在最开始的时候,我们曾建立一个文本文件,将其命名为"subtrahend.txt",存在.fla文件所在的目录下,这个文件中包含有程序需要读取的参数,现在我们就要编写代码将这些数据读取出来. 选中"脚本"层中的第一帧,然后打开行为面板,输入这样的代码: var externalData:LoadVars = new LoadVars(); ext

Flash MX 2004 编程(AS2.0)教程(一)

编程|教程 第1章入门 ActionScript是一种编程语言,Flash专用.ActionScript的语法类似Javascript或者Java,如果你以前接触过这两种语言,你会发现ActionScript非常易懂易用.即便你没有接触过Java或者Javascript,掌握和运用ActionScript也绝非什么难事. 1.1ActionScript的演变过程 ActionScript是不断发展的,最早出现在Flash 5种,目前的最新版本是ActionScript 2.0,已经趋于成熟.Fl

Flash MX 2004 编程(AS2.0)教程(二)

编程|教程 1.3ActionScript编辑器 Flash MX 2004中提供了一个非常易用的ActionScript编辑器,这一小节我们就来熟悉这个编辑器的使用方法. 1.3.1启动ActionScript编辑器 在Flash MX 2004中打开菜单"窗口-〉开发面板-〉动作"(快捷键F9)即可打开ActionScript编辑器. 1.3.2ActionSctipt编辑器的结构 从图中可以看出,ActionScript编辑器由四个部分组成 脚本面板 这个区域相当于一个文本编辑器

Flash MX 2004 编程(AS2.0)教程(十二)

编程|教程 2.4影片剪辑事件 相对于前面所介绍的鼠标事件.键盘事件以及帧事件而言,影片剪辑事件则显得稍为有点难懂.当我们将一个影片剪辑放到场景中时,他就成了一个"事件发射器",不断地报告自己的运行状态,如果我们捕获这样的事件,就可以做出相应的反应和处理.影片剪辑有多种,下面分门别类地加以介绍. 2.4.1onClipEvent(Load)和onClipEvent(unload) 这个事件在影片剪辑加载的时候发生,那什么是影片剪辑的加载呢?比方说,你在场景中添加了一个影片剪辑clip_

Flash MX 2004 编程(AS2.0)教程(十一)

编程|教程 2.3.2.2图片的自动切换 1.回到主场景中,将上一步制作好的影片剪辑拖放到场景中并将其命名为picture_mc,调整其长度为45帧. 2.添加一个动态文本,命名为message_txt,我们将用它来显示倒计时,倒计时完成时,picture_mc中的图片自动切换.另外还要添加一个名称为caption_txt的动态文本,它将显示图片的标题,由影片剪辑picture_mc自身的代码来控制. 3.新建一个层,命名为倒计时,调整其长度为45帧左右,在0.15.30帧处,分别添加帧事件,代

Flash MX 2004 编程(AS2.0)教程(十)

编程|教程 2.3帧事件 2.3.1帧事件简介 帧事件和前面介绍的鼠标事件以及键盘事件的主要区别在于,帧事件并不是一个交互式的事件.每当影片播放指定的帧时,帧事件内部的代码就会被执行.在Flash的开发环境中,帧事件在时间线上会有一个"a"标记. 在具体的设计中,帧事件的用处是非常多的.比方说影片的第1帧总是受到垂青的,因为我们一般总是要在这一帧当中对程序进行一些初始化操作,比方说定义变量.函数等等.再比如,在很多交互式的程序中,我们一般要在需要等待用户输入(比如单击一个按钮)的时候,

Flash MX 2004 编程(AS2.0)教程(九)

编程|教程 2.2实例 前面简要介绍了一下几种常用的鼠标事件,下面我们就通过一个完整的例子来综合运用一下这些事件. 首先建立一个场景,向其中添加三个影片剪辑实例,名称命名为hand_mc.message_txt.eventTrapper_btn和dragTest_mc,hand_mc用来替换鼠标.message_txt是一个动态文本,显示反馈信息,eventTrapper_btn是按钮实例,用来捕捉各种鼠标事件,dragTest_mc则用来演示拖动事件的处理. 2.2.1自定义鼠标 我们经常需要

Flash MX 2004 编程(AS2.0)教程(八)

编程|教程 2.1鼠标和键盘事件 鼠标事件可以说是应用最多的事件了,所以我们就从鼠标事件下手来看看当用户在屏幕上挥动鼠标时,Flash应该如何作出反应. 2.1.1鼠标按下(on(press)) 如果某个界面元素(比如一个按钮或者一个影片剪辑的实例)的代码中含有on(press)这样的事件处理代码,那么当用户在这个界面元素上按下鼠标时,on(press)后面的大括号中的代码就会被执行. 2.1.2鼠标释放(on(release)) 这个事件在鼠标健释放的时候发生,这个事件通常都是在on(pres

Flash MX 2004 编程(AS2.0)教程(七)

编程|教程 第2章处理事件 事件,是推动Flash程序运行的灵魂,可以说,没有事件就没有Flash程序,真是因为有了丰富的事件,Flash程序的交互性才能够得以实现.开发Flash程序时,我们需要花很大一部分精力去估计程序应该处理哪些事件以及如何处理这些事件.比方说对一个按钮,我们是不是只需要处理一下用户单击按钮所触发的事件?如果需要按钮对用户的更多操作作出反应,那么我们就需要添加相应的事件处理代码. Flash程序可以处理的事件可谓多如牛毛,我们显然不能可能将他们一个一个罗列出了讲个所以然,其