ActionScript事件的使用

合集下载

第十四章:ActionScript使用入门

第十四章:ActionScript使用入门

14
本章总结


掌握时间轴控制函数 浏览器/网络中的函数

影片剪辑控制函数
15
random(number)

random(number)返回一个0~(number-1)之 间的随机整数.
例如:random(100) 表示返回0~99之间随机整数
16
数组


在程序设计中,为了处理方便, 把具有相同类型的若干变 量按有序的形式组织起来。这些按序排列的同类数据元素 的集合称为数组。 例如,数组a,有5个元素,分别是 a[0] a[1] a[2] a[3]Hungary a[4]
startDrag与stopDrag:
语法:startDrag(目标,固定,左,顶部,右,底部);
目标:指定要拖动影片剪辑的目标路径。 固定:一个布尔值,指定影片剪辑是锁定到鼠标位置中央(true),还 是锁定到用户首次单击该影片剪辑位置(false)。 其他四个参数,都是相对与影片剪辑父级坐标的值。
注:都是无参数函数
3
任务一:goto跳转语句的使用
语法:
gotoAndPlay([场景的名称],帧数(帧标签的字符串)) 跳转并播放 gotoAndstop([场景的名称],帧数(帧标签的字符串)) 跳转并停止
例如: gotoAndPlay(2)表到达第2帧并播放 gotoAndPlay(”zm”)表到达名字叫zm的帧并播放 gotoAndPlay(”c”,1)表到达场景c中的第1帧并播放
7
任务三:影片剪辑控制函数

onClipEvent(movieEvent){ } 针对影片剪辑的动作。当用户的操作满足其中的影 片剪辑事件时,执行大括号中的内容。

ActionScript编程 事件流

ActionScript编程  事件流

ActionScript编程事件流只要发生事件,Flash Player就会调度事件对象。

如果事件目标不在显示列表中,则Flash Player将事件对象直接调度到事件目标。

“事件流”说明事件对象如何在显示列表中穿行。

显示列表以一种可以描述为树的层次结构形式进行组织。

位于显示列表层次结构顶部的是舞台,它是一种特殊的显示对象容器,用作显示列表的根。

舞台由flash.display.Stage 类表示,且只能通过显示对象访问。

每个显示对象都有一个名为stage的属性,该属性表示应用程序的舞台。

当Flash Player调度事件对象时,该事件对象进行一次从舞台到“目标节点”的往返行程。

DOM事件规范将目标节点定义为代表事件目标的节点。

也就是说,目标节点是发生了事件的显示列表对象。

例如,如果用户单击名为child1的显示列表对象,Flash Player 将使用child1作为目标节点来调度事件对象。

事件流用于描述事件发生在显示列表中,遍历其所有节点的过程,它可以分为3个阶段,如下所示。

●捕获阶段该阶段包括从舞台到目标节点的父节点范围内的所有节点。

●目标阶段该阶段仅包括目标节点。

●冒泡阶段该阶段包括从目标节点的父节点返回到舞台的行程中遇到的节点。

将显示列表可以想像成为一个垂直的层次结构,其中舞台位于顶层,如图7-2所示。

图7-2 显示列表与节点当显示列表中的4个节点都作为事件的发送者时,捕获阶段如图7-3中的箭头所示。

图7-3 捕获阶段通过捕获阶段,事件流就位于显示列表最底层的节点(即节点2),这时就属于事件流的目标阶段,如图7-4所示。

图7-4 目标阶段到达最底层的节点后,事件又像水底的气泡一样,慢慢往上跑,所以这个阶段称为冒泡阶段,如图7-5所示。

图7-5 冒泡阶段事件流使现在的事件处理系统功能比以前更加强大。

早期版本的ActionScript 中没有事件流,这意味着事件侦听器只能添加到生成事件的对象。

第十三章 ActionScript 使用进阶

第十三章   ActionScript 使用进阶

22
6、 startDrag和stopDrag的使用

startDrag和stopDrag是拖动和停止拖动实体的函 数,stopDrag没有参数,而startDrag需要输入参 数,输入格式为:
startDrag(目标,固定,左,顶部,右,底部)
23
A、 startDrag和stopDrag的使用
提示 stopAllSounds只能停止非Stream(流式)类的声音,如果在调
入声音的同时,把它设置成都市Stream类型,就不能停止了。
10
二、 游览器/网络中的函数

使用浏览/网络中的函数,可以从Flash应用程序中 向网络发送数据。浏览器/网络函数 列表详见教材 P207。
11
三、 影片剪辑的控制函数
第十三章 ActionScript 使用进阶
本章目标




了解时间轴控制函数命令、浏览器/网络中的函数 命令、影片剪辑控制函数命令 掌握插入动作脚本代码 掌握动作脚本中的运算符 熟练掌握动作脚本的语法、数据类型及动作脚本 的基本语句
2
授课讲解过程
导入课题
讲述新课
实例讲解
师生互动
学生演示(教师指导)
9
E、 play、stop和stopAllSounds的使用

一般情况下,没有经过特殊设定,将播放时间轴 上的每一个帧,使用play(播放)、stop(停止) 可以控制影片剪辑的播放。而stopAllSounds可以 停止所有的声音。Play、stop和stopAllSounds这3 个函数都属于无参数函数。
8
D、 gotoAndPlay和gotoAndStop的使用

goto 语法的参数主要包括场景和类型。

ActionScript编程 使用按钮组件

ActionScript编程  使用按钮组件

ActionScript编程使用按钮组件作用:按钮(Button)组件作为触发事件的事件源,为用户提供各种交互性的体验。

说明:Button组件是一个可调整大小的矩形按钮,用户可以通过鼠标或空格按下该按钮以在应用程序中启动操作。

该组件可以显示文本标签、自定义图标,或者同时显示两者。

Button组件是许多表单和Web应用程序的基础部分。

每当需要让用户启动一个事件时,都可以使用按钮实例。

例如,提交表单中必不可少的“提交”按钮。

使用new运算符和Button()构造函数可以创建Button组件的实例,但在创建之前必须要导入Button类,如下所示。

import fl.controls.Button;//导入Button类var btn:Button = new Button();Button实例具有emphasized属性,其值为一个布尔值,指示当按钮处于弹起状态时,Button组件周围是否绘有边框。

如果为true,表示当按钮处于弹起状态时其四周带有边框;否则不带有边框。

默认值为false,即不带有边框。

emphasized属性的使用方法如下所示:btn.emphasized = true;除了Button()构造方法外,Button实例还具有一个getStyleDefinition()方法,用于检索当前组件的默认样式映射。

样式映射包含适合组件的类型,具体取决于组件使用的样式。

该方法返回默认样式对象。

Button组件通常与事件处理函数方法关联,该方法将侦听click事件,并在click事件被调度后执行指定任务。

当用户单击启用的按钮时,该按钮调度click和buttonDown事件。

即使按钮尚未启用,它也可以调度其它事件,包括:mouseMove、mouseOver、mouseOut、rollOver、rollOut、mouseDown和mouseUp。

例如,侦听btn按钮组件的鼠标单击事件,如下所示。

btn.addEventListener(MouseEvent.CLICK,onClick);在应用程序中可以启用或者禁用按钮。

关于 ActionScript 和事件

关于 ActionScript 和事件

关于 ActionScript 和事件在 Macromedia Flash Basic 8 和 Macromedia Flash Professional 8 中,事件发生时会执行 ActionScript 代码:例如,在加载影片剪辑时、在进入时间轴上的关键帧时或者在用户单击某个按钮时。

事件可以由用户或系统触发。

用户单击鼠标按钮或按键;在满足特定条件或进程完成(SWF 文件加载、时间轴到达特定的帧、图形完成下载等)时,系统会触发相关事件。

事件发生时,您应编写一个事件处理函数,从而在该事件发生时让一个动作响应该事件。

了解事件发生的时间和位置将有助于您确定在什么位置、以什么样的方式用一个动作响应该事件,以及在各种情况下分别应该使用哪些 ActionScript 工具。

有关更多信息,请参见关于通过编写脚本来处理事件。

事件可以划分为以下几类:鼠标和键盘事件,发生在用户通过鼠标和键盘与Flash 应用程序交互时;剪辑事件,发生在影片剪辑内;帧事件,发生在时间轴上的帧中。

有关可以编写处理事件的脚本的种类的信息,请参见关于通过编写脚本来处理事件。

鼠标和键盘事件用户与 SWF 文件或应用程序交互时触发鼠标和键盘事件。

例如,当用户滑过一个按钮时,将发生 Button.onRollOver 或 on(rollOver) 事件;当用户单击某个按钮时,将发生 Button.onRelease 事件;如果按下键盘上的某个键,则发生on(keyPress) 事件。

可在帧上编写代码或向实例附加脚本,以处理这些事件以及添加所需的所有交互操作。

剪辑事件在影片剪辑中,您可以响应用户进入或退出场景或使用鼠标或键盘与场景进行交互时触发的多个剪辑事件。

例如,可以在用户进入场景时将外部 SWF 文件或 JPG 图像加载到影片剪辑中,或允许用户使用移动鼠标的方法在场景中调整元素的位置。

帧事件在主时间轴或影片剪辑时间轴上,当播放头进入关键帧时会发生系统事件 -- 这叫做帧事件。

ActionScript编程 时间事件

ActionScript编程  时间事件

ActionScript编程时间事件作用:当Timer对象在每次达到指定的时间间隔时发生的事件。

说明:在ActionScript 3.0中处理计时函数的首选方式是使用Timer类,使用它可以在每次到达指定间隔时调度事件。

Timer类的构造函数有两个参数:第一个参数是以毫秒为单位的间隔时间;第二个参数是重复调用的次数,如果次数为0,则重复无限次数。

Timer构造函数如下所示。

var myTimer:Timer = new Timer(delay,repeatCount);Timer类有4个属性,其中两个为只读属性,两个为读写属性,如下所示。

●currentCount 只读属性,表示当前已经调用的次数。

●running 只读属性,表示是否正在进行调用。

如果处于调用状态,running的值为true;否则为false。

●delay 读写属性,表示调用的间隔时间(以毫秒为单位)。

●repeatCount 读写属性,表示重复调用的次数。

Timer类有3个方法可以调用,其详细介绍如下所示。

●start() 用于开始调用。

●stop() 用于停止调用。

●reset() 用于重置调用。

Timer类有两个事件可以使用:当开始调用时会发生timer事件,当调用结束时会发生timerComplete事件。

这两上事件都TimerEvent类的属性,事件名分别为Timer.TIMER和Timer.TIMER_COMPLETE。

示例:在很多Flash游戏中,通常需要制作计时器来进行正计时或倒计时,以记录或限制单局游戏所消耗的时间。

其实,实现该功能并不难,使用Timer对象和TimerEvent事件就可以完成。

例如,制作一个简单计时器,从5秒开始开始倒计时,以1000毫秒为间隔时间,如下所示。

var delay:int = 1000;//定义间隔时间var repeatCount:int = 5;//定义重复执行次数var myTimer:Timer = new Timer(delay,repeatCount);//创建Timer对象myTimer.addEventListener(TimerEvent.TIMER,onTimerStart);myTimer.addEventListener(TimerEvent.TIMER_COMPLETE,onTimerComplete);//为间隔和完成事件指定侦听器myTimer.start();//启动计时器计时//显示倒计时数function onTimerStart(event:TimerEvent):void {trace("倒计时:" + (repeatCount - event.target.currentCount + 1));//该事件的目标是Timer实例}function onTimerComplete(event:TimerEvent):void {trace("游戏开始!");myTimer.reset(); //重置计时器}在上面的示例中,首先会创建一个用于每秒计时一次并持续5秒的Timer实例。

ActionScript编程键盘事件

ActionScript编程键盘事件

ActionScript编程键盘事件
ActionScript编程键盘事件
作用:
当按下或释放键盘中的键时发生的事件。

说明:
键盘事件都是由KeyboardEvent类来管理,其只有keyDown和keyUp两个事件,分别表示按下键和释放键。

这两个事件的事件名是由KeyboardEvent类的类属性KEY_DOWN 和KEY_UP来表示。

KeyboardEvent类同时定义了一些属性和方法来辅助键盘事件的处理,其属性如表7-4所示。

表7-4 KeyboardEvetn类的属性
其中,keyCode属性是最常用的,它用于判断哪个键被按下或释放。

例如,keyDown 事件只是判断键是否按下,如果要判断是哪个键被按下,就需要使用keyCode属性。

当某个键按下时,如果按键的keyCode属性等于键控代码,则说明这个键被按下,对于keyUp 事件的处理也是一样。

KeyboardEvent类的方法说明如表7-5所示。

从理论上讲,stage可以处理keyDown和keyUp事件,影片剪辑实例等其它交互显示实例也都可以处理这两个事件,但有一点区别,其它显示实例必须设置焦点才能处理这两个事件。

例如:
this.addEventListener(KeyboardEvent.KEY_DOWN,keyDown);
当测试影片时,可能发现检测不到按键事件,这是因为焦点不在this或root上。

如果要让this或root也能处理按键事件,需要设置焦点:
stage.focus = this;。

ActionScript命令中的鼠标事件详解

ActionScript命令中的鼠标事件详解
图1,为按钮添加命令,在动作面板中,单击“添加脚本”按钮,选择“全局函数”—“影片剪辑控制”—“on”命令。
图2,在“on”命令下拉列表中,有很多选项。其中:
“press”:在按钮上按下鼠标时。
“release”: 在按钮上按下鼠标然后在按钮上释放鼠标时。
“releaseOutside”:在按钮上按下鼠标,滑出按钮区域释放鼠标。
“rollout”: 鼠标指针移出按钮区域。
“rollover”: 鼠标指针移到按钮上。
“dragOut”: 当鼠标指针移到按钮上时按下鼠标,然后滑出此按钮区域。
“dragOver”: 当鼠标指针移到按钮上时按下鼠标,然后滑出该按钮区域,再移回该按钮上。
“keyPress”< Left> 按下指定的键盘键“←”。
软件版本:Flash 8
主要操作:按钮元件、选择工具、动作面板
在FLASH动画制作中,如果我们要为按钮添加onScript命令,就会涉及到触发“鼠标事件”。
当我们为按钮添加命令时,会选择“全局函数”—“影片剪辑控制”—“on”命令,选择了“on”命令后,会出现一个下拉列表, 需要我们在这里为“按钮”选择一个“鼠标事件”,下面我们就来详细介绍这下拉列表里每一项的用法。
当我们为按钮添加命令时会选择全局函数影片剪辑控制on命令选择了on命令后会出现一个下拉列表需要我们在这里为按钮选择一个鼠标事件下面我们就来详细介绍这下拉列表里每一项的用法
ActionScript命令中的鼠标事件详解
ActionScript命令中的鼠标事件详解
吉祥如意988/编辑 素材/网络
本篇详细介绍了在动画制作中,为按钮添加命令时所触发“鼠标事件”-“on”下拉列表中各项的使用方法。
在下拉列表的指定键盘命令中,提供了很多“键盘键”的选择,可以直接选择指定的“键盘键”。在动画输出后,就可以通过相应的键盘键控制动画的播放与停止或其他操作了。

ActionScript编程 事件流信息

ActionScript编程  事件流信息

ActionScript编程事件流信息Event类作为创建Event对象的基类,当发生事件时,Event对象将作为参数传递给事件侦听器。

该类定义了许多属性和常量,以提供有关事件对象及其与事件流有关系的重要信息。

1.判断是否参与冒泡阶段如果事件对象参与事件流的冒泡阶段,则将该事件称为“冒泡”,这指的是从目标节点将事件对象往回传递,经过目标节点的父节点,直至到达舞台。

Event类的bubbles属性存储一个布尔值,用来表示事件对象是否可以参与事件流的冒泡阶段。

由于冒泡的所有事件中还参与捕获和目标阶段,因此这些事件对象同时参与事件流的所有阶段。

如果为该值为true,说明事件对象可以参与事件流的冒泡阶段(即参与所有阶段);否则说明不可以参与。

例如,MouseEvent类的单击事件就可以参与冒泡阶段,而Event类的完成(Complete)事件就不能参与。

2.确定事件流的阶段通过获取任何事件对象的eventPhase属性值,可以确定事件流的阶段。

eventPhase属性包含一个无符号整数值,该值表示三个事件流阶段中的一个阶段:● 1 捕获阶段(EventPhase.CAPTURING_PHASE)● 2 目标阶段(EventPhase.A T_TARGET)● 3 冒泡阶段(EventPhase.BUBBLING_PHASE)Flash Player API定义了单独的EventPhase类,该类包含三个对应于三个无符号整数值的常量,如以下代码如示。

package flash.events{public final class EventPhase{public static const CAPTURING_PHASE:uint = 1;public static const A T_TARGET:uint = 2;public static const BUBBLING_PHASE:uint = 3;}}这些常数对应于eventPhase属性的三个有效值。

workerscript用法

workerscript用法

workerscript用法WorkerScript是在Qt框架中用于在后台线程中执行任务的类。

它通常用于在Qt Quick应用程序中执行耗时的操作,以确保不会阻塞主线程,从而保持应用程序的响应性。

以下是WorkerScript的一般用法:1. 创建WorkerScript实例,首先,你需要在你的Qt Quick应用程序中创建一个WorkerScript实例。

这通常是通过在QML文件中使用WorkerScript元素来完成。

2. 定义要在后台执行的任务,在WorkerScript中,你需要定义要在后台线程中执行的任务。

这通常是通过编写JavaScript代码来完成,你可以在WorkerScript内部使用onMessage事件处理程序来监听从主线程发送过来的消息,并在收到消息时执行相应的任务。

3. 与主线程通信,WorkerScript允许在后台线程和主线程之间进行双向通信。

你可以使用WorkerScript.sendMessage()方法从后台线程向主线程发送消息,并使用WorkerScript.onMessage事件处理程序从主线程向后台线程发送消息。

4. 处理任务完成,一旦后台任务完成,你可以使用WorkerScript.sendMessage()方法向主线程发送一个消息,以通知主线程任务已完成。

总的来说,WorkerScript的主要用法是在Qt Quick应用程序中执行耗时的任务,同时保持应用程序的响应性。

通过在后台线程中执行这些任务,它可以避免阻塞主线程,从而提高应用程序的性能和用户体验。

希望这个回答能够帮助你理解WorkerScript的基本用法。

actionscript基本用法

actionscript基本用法

actionscript基本用法下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。

文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by the editor. I hope that after you download them, they can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!In addition, our shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!ActionScript基本用法ActionScript是一种基于对象的脚本语言,最初是用于Adobe Flash平台的,但也被用于其他Adobe产品和第三方软件。

ActionScript编程 键盘事件

ActionScript编程  键盘事件

ActionScript编程键盘事件作用:当按下或释放键盘中的键时发生的事件。

说明:键盘事件都是由KeyboardEvent类来管理,其只有keyDown和keyUp两个事件,分别表示按下键和释放键。

这两个事件的事件名是由KeyboardEvent类的类属性KEY_DOWN 和KEY_UP来表示。

KeyboardEvent类同时定义了一些属性和方法来辅助键盘事件的处理,其属性如表7-4所示。

表7-4 KeyboardEvetn类的属性其中,keyCode属性是最常用的,它用于判断哪个键被按下或释放。

例如,keyDown 事件只是判断键是否按下,如果要判断是哪个键被按下,就需要使用keyCode属性。

当某个键按下时,如果按键的keyCode属性等于键控代码,则说明这个键被按下,对于keyUp 事件的处理也是一样。

KeyboardEvent类的方法说明如表7-5所示。

从理论上讲,stage可以处理keyDown和keyUp事件,影片剪辑实例等其它交互显示实例也都可以处理这两个事件,但有一点区别,其它显示实例必须设置焦点才能处理这两个事件。

例如:this.addEventListener(KeyboardEvent.KEY_DOWN,keyDown);当测试影片时,可能发现检测不到按键事件,这是因为焦点不在this或root上。

如果要让this或root也能处理按键事件,需要设置焦点:stage.focus = this;因此,在对除stage以外的显示实例处理键盘按下和释放事件时,要注意焦点的处理。

KeyboardEvent类提供了updateAfterEvent()方法用来更新显示,它可以让对象的显示与帧频无关,即保证了对象的显示更加流畅。

updateAfterEvent()方法的一般形式如下所示。

event.updateAfterEvent();因此,当帧频很低而又想让程序一运行完就立刻更新显示时,可用updateAfterEvent()方法。

ActionScript编程 处理组件事件

ActionScript编程  处理组件事件

ActionScript编程处理组件事件每一个组件在用户与它交互时都会触发事件。

例如,当用户单击一个Button时,它会调MouseEvent.CLICK事件;当用户选择List中的一个项目时,List会调度Event.CHANGE事件。

另外,组件发生重要事情时也会引发事件,例如,当UILoader实例完成内容加载时,会生成一个PLETE事件。

如果要处理事件,需要编写在该事件被触发时所要执行的ActionScript代码。

组件的事件包括该组件继承的所有类的事件。

也就是说,所有ActionScript 3.0用户界面组件都从UIComponent类继承事件,因为它是ActionScript 3.0用户界面组件的基类。

适用于ActionScript 3.0组件的事件处理包括以下几点:●所有事件均由组件类的实例触发,组件实例为“触发器”。

●通过调用组件实例的addEventListener()方法,可以注册事件的侦听器。

例如向名称为btn的Button实例添加一个MouseEvent.CLICK事件的侦听器:btn.addEventListener(MouseEvent.CLICK, onClick);●可以向一个组件实例注册多个事件侦听器:btn.addEventListener(MouseEvent.CLICK,onClick1);btn.addEventListener(MouseEvent.CLICK,onClick2);●可以向多个组件实例注册同一个事件侦听器:btn1.addEventListener(MouseEvent.CLICK,onClick);btn2.addEventListener(MouseEvent.CLICK,onClick);●会将一个事件对象传递给该事件处理函数,该对象包含有关该事件类型和触发该事件的实例的信息。

●在应用程序终止或使用removeEventListener()显式删除侦听器之前,侦听器会一直保持活动状态。

大学_ActionScript3.0实用教程_1

大学_ActionScript3.0实用教程_1

ActionScript3.0实用教程ActionScript3.0实用教程:使用显示对象8.1 控制时间轴用于控制时间轴的MovieClip方法gotoAndPlay() 跳转至指定的帧然后开始播放时间轴gotoAndStop() 跳转至指定的帧然后停止nextFrame() 跳转至下一帧prevFrame() 跳转至上一帧play() 从当前帧开始播放stop() 在当前帧停止播放【停止影片:1.stop(),2.事件监听】使用帧标签帧标签只可以指定给关键帧。

帧标签不可以含有空格,也不可以以数字开头。

影片剪辑按钮(仍是影片剪辑)与按钮元相似,但却是创建有以下特征按钮的基础:完全动画的可充用的包含其他显示对象按钮元件本身除了基本的鼠标事件是没有太多其他功能的。

一个影片剪辑的按钮有完整的时间轴并在其时间轴中完全支持as驱动,这样可以制作高级交互和特效。

PS:在第某帧插入一帧,这样时间轴就得到了继承。

如果时间轴上没有什么改变,那关键帧就不是必需的。

应该只有在时间轴引入改变时才使用关键帧。

因为即使他们没有任何内容也会比普通帧占去更多资源。

如果希望在时间轴上创建空隙,那么你应该使用普通帧。

给影片剪辑的时间轴中嵌入as代码是给影片剪辑封装功能。

这样可以重用这个影片剪辑而不用写额外的代码。

8.2 使用目标路径导航时间轴在应用程序中给你的显示对象和嵌套显示对象和它们的层级画一个线框图是个很好的主意。

这样会给你一个怎样用as找到显示对象并且告诉它们去做什么的清晰路线。

绝对目标路径和相对目标路径如果想要从任何其他显示对象时间轴中调用舞台,你可以有两种方式调用它:使用一个绝对路径或相对路径。

从时间轴经过绝对路径调用舞台需要调用root时间轴(舞台本身)使用root标识符。

想要声明root作为一个显示对象并且从任何其他显示对象内部的时间轴调用root,代码如下:var myRoot:MovieClip=root as MovieClip;myRoot.doSomething();基本上将root返回的对象作为显示对象,是没有任何影片剪辑属性的,所以我们需要将它重新转型为有用的影片剪辑。

ActionScript在Flash课件制作中的应用

ActionScript在Flash课件制作中的应用

ActionScript在Flash课件制作中的应用Flash以其强大的动画功能越来越受到课件制作者的喜爱,特别是在互动广告、课件、游戏、MTV等方面。

而Flash5.0中新增的几百条ActionScript语句则更加强了Flash的功能。

ActionScript作为Flash5.0的内部语言,可以让你将各种从简单到复杂的交互添加到课件中。

建立好交互后,通过捕获用户的事件(如鼠标事件和键盘事件等)来控制课件中动作的执行。

面对几百条ActionScript命令,你可能会感觉有些力不从心。

其实你并不一定要把每一条命令都搞清楚,只要清楚自己的目的是什么,通常一个相当简单的脚本就可以满足需要。

当你初步学会了ActionScript语言的编写方法后,就掌握了主动权,可以学习创建更加复杂的交互应用了。

下面我就用Flash制作课件时用到ActionScript的一些的具体实例作一详细介绍。

希望对你有所帮助。

一、交互响应图1本例课件(如图1)的目的是拖动当前图形到适当位置时,如果放置位置正确则不退回图形,并说:“对了,你真棒。

”如果放置位置错误则退回图形,并说:“错啦,再好好想一想。

”具体操作为:选中对象,单击右键,弹出Object Actions对话框,输入ActionScript 语句(如图2)。

下面按语句的功能逐句作一说明:1.onClipEvent(mouseDown)这条语句用于检测鼠标是否按下,如按下鼠标键,则程序响应。

2.a1=this._x;b1=this._y这两条语句是用来实现把当前影片的x,y坐标保存到变量a1,b1中,当把影片拖动到不正确的位置时,再把a1,b1变量的值赋予x,y,使影片回到初始位置。

3. if(this.hitTest(_root._xmouse,_root._ymouse,false))这里的if函数用来检测其里面的表达式的真假。

真时执行函数体,否则不执行。

这里使用hitTest方法来检测影片是否与鼠标发生碰撞(即重合)。

ActionScript的基本语法规则

ActionScript的基本语法规则

一、基本知识点1.点语法在ActionScript中,点(.)被用来指明与某个对象或电影剪辑相关的属性和方法。

它也用标识指向电影剪辑或变量的目标路径。

点语法表达式由对象或电影剪辑名开始,接着是一个点,最后是要指定的属性、方法或变量。

例如,表达式ballMC.x是指电影剪辑实例ballMC的_X属性,_X电影剪辑属性指出编辑区中电影剪辑的X轴位置。

例如,submit是在电影剪辑form中设置的一个变量,而form又是嵌套在电影剪辑shoppingCart中的电影剪辑。

表达式shoppingCart.form.submit=true 的作用是设置实例form的submit变量的值为true。

2.斜杠语法Flash的以前版本是使用斜杠语法指出电影剪辑或变量的目标路径的。

Flash MX播放器仍然支持这种语法,但不推荐使用。

在斜杠语法中,斜杠被用来代替点,用以标明电影剪辑或变量的路径。

要指出一个变量,可以在变量前加上冒号,如下面的语句所示:myMovieClip/childMovieClip:my Variable我们现在用点语法取代上述斜杠语法来表示上面的目标路径:myMovieClip.childMovieClip.myVariable3.大括号ActionScript语句用大括号({})分块,如下面的脚本所示:on(release){ myDate = new Date(); currentMonth =myDate.getMonth();}4.分号ActionScript语句用分号(;)结束,但如果你省略语句结尾的分号,Flash仍然可以成功地编译你的脚本。

例如,下面的语句用分号结束:colum = passedDate.getDay();row = 0;同样的语句也可以不写分号:colum = passdDate.getDay()row = 05.圆括号定义一个函数时,要把参数放在圆括号中:function myFunction (name, age, reader){ … }调用一个函数时,也要把要传递的参数放在圆括号中:myFunction ("Steve",10,true);圆括号可以用来改变ActionScript的运算优先级,或使自己编写的ActionScript语句更容易阅读。

ActionScript编程 事件名与事件对象

ActionScript编程  事件名与事件对象

ActionScript编程事件名与事件对象在事件处理中,事件主要由事件名、事件对象等组成。

事件名一般用常量字符串表示,例如,click表示单击事件、doubleClick表示双击事件。

但在实际编程中,一般不直接使用字符串,而是使用类的公用静态属性来表示字符串。

例如,专门处理鼠标事件的类叫做MouseEvent类,该类具有很多的静态属性来表示事件字符串,如表7-2所示。

表7.2 MouseEvent类的静态常量属性对于其它的事件类,都像MouseEvent类一样会用静态属性来表示常量字符串。

在事件处理的过程中,系统会自动创建一个事件类的实例,作为参数传递给接收者函数。

这个实例往往称为事件对象。

由于事件对象是事件类的实例,所以可以调用事件。

在新的事件处理系统中,事件对象有两个主要用途:第一,事件对象通过将特定事件的信息存储在一组属性中,来表示实际事件;第二,事件对象包含一组方法,可用于操作事件对象和影响事件处理系统的行为。

例如,鼠标单击舞台中的影片剪辑元件,MovieClip类的实例是单击事件的发送者,当用单击该实例时,实例就发出单击事件,函数mouseClick()收到事件后,就执行函数体内的代码,如下所示。

var mc:MovieClip = new MovieClip();//创建和引用MovieClip类的实例mc.graphics.beginFill(0xffff00);mc.graphics.drawRect(100,100,100,100);mc.graphics.endFill();//绘制矩形stage.addChild(mc);//将矩形显示在舞台中mc.addEventListener(MouseEvent.CLICK,mouseClick);//注册鼠标单击事件function mouseClick(event:MouseEvent):void{trace("单击事件")}上面的代码首先创建了MovieClip类的实例,由于该类间接继承了InteractiveObject 类的单击事件,所以MovieClip类的实例也能处理单击事件。

ActionScript编程 帧事件

ActionScript编程  帧事件

ActionScript编程帧事件作用:当播放头进入到新帧时发生的事件。

说明:DisplayObject类的enterFrame事件是在播放头进入到新帧时发生。

如果播放头不移动或者只有一帧,则会继续以帧频调度该事件。

系统会对所有侦听该事件的显示对象同时调度该事件。

由于enterFrame事件可以以帧频的速度执行代码,而且代码可以放置在一帧,所以enterFrame事件是制作运动效果的较佳选择。

enterFrame事件具有4个属性,如下所示。

●bubbles 判断事件是否为冒泡事件,默认值为false。

●cancelable 判断默认行为是否被取消,默认值为false,没有被取消。

●currentTarget 当前正在使用某个事件侦听器处理Event对象的对象。

●target 具有为enterFrame事件注册的侦听器的任何DisplayObject实例。

示例:舞台中存在一个名称为mc的影片剪辑元件,为其注册enterFrame事件侦听器,使其以指定的速度从舞台的左侧向右移动。

当mc元件离开舞台时,则调用myFun()函数移除enterFrame事件,如下所示。

stage.frameRate = 30;//定义新帧频var speed:int = 5;//定义元件移动速度var dx:int = mc.x;//获取mc的初始位置mc.addEventListener(Event.ENTER_FRAME,myFun);//为mc注册enterFrame事件侦听器//定义接收者函数function myFun(event:Event):void{dx += speed;event.target.x = dx;if (dx >= stage.stageWidth){//如果实例离开舞台mc.removeEventListener(Event.ENTER_FRAME,myFun);//移除enterFrame事件}}在上面的代码中使用了Event类的ENTER_FRAME属性,该属性表示字符串enterFrame(即enterFrame事件)。

1.具体案例_ActionScript3.0语言基础与应用_[共2页]

1.具体案例_ActionScript3.0语言基础与应用_[共2页]

98 有的事件,比如鼠标事件、键盘事件、帧循环事件等。

除了内置事件之外,ActionScript 3.0允许用户自定义事件。

与内置事件一样,ActionScript 3.0的自定义事件也必须遵循三要素四流程。

首先我们来分析三要素。

(1)事件发送者:有3种类型,继承自EventDispatcher类的对象、复合EventDispatcher的对象以及实现IEventDispatcher接口。

ActionScript 3.0中所有显示对象DisplayObject都是EventDispatcher的子类,因此所有显示对象都可以是事件发送者。

复合EventDispatcher的对象,指的是某个类,复合了其他类的对象,而这个对象继承自EventDispatcher,那么这个类的对象也可以成为事件发送者。

实现IEventDispatcher接口相对比较复杂,本书中不做介绍。

(2)事件对象:必须继承自Event。

在这里,我们来看一下Event类的构造函数。

public function Event(type:String, bubbles:Boolean = false, cancelable:Boolean = false)通常我们只设置type一个参数来创建Event对象。

比如下面案例中男孩类中创建的flowerEvent。

Event类中的toString(),可以返回Event对象的属性。

(3)侦听器:可以是单个函数,也可以是某个类的方法。

通常,事件是在不同的类的对象之间进行交互,因此比较常用的是侦听函数是某个类的方法。

接下来我们来看一个简单的案例。

比如说男孩送女孩鲜花这个事件。

事件发送者是男孩,创建男孩类的时候需要让其继承自EventDispatcher。

需要创建一个自定义事件FlowerEvent,继承自Event。

为了与内置事件保持一致,我们可以在自定义事件中用静态常量来表示事件的类型,如SEND_FLOWER,还可以创建一些其他的属性作为事件可以携带的信息。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ActionScript语言元素基本知识
一、函数
1、一般函数的标准格式:函数名称(),如play()。

2、有些函数带参数:函数名称(参数),如gotoAndPlay(1)。

3、函数参数可以有多个,多个参数用“,”隔开:函数名称(参数1,参数2),
如getURL("", "_blank");
二、运算符
1、赋值运算符:= 与比较运算符:= =
2、减法运算符:—与负号运算符:—(二者均是算术运算符)
3、逻辑运算符:!用于将变量或表达式的布尔值变成相反值。

比较运算符:!= 用于测试两个表达式是否不相等。

4、逻辑运算符:&& 与and 功能相同,使用该运算符时表达式必须同时符合该运算符的
左右两方内容时才能执行。

5、逻辑运算符:|| 与or 功能相同,使用该运算符时表达式只须符合该运算符的左右其
中一方的内容时就能执行。

6、++、--、+=运算符:++/-- 可以用表达式x=x+1/x=x-1 来取代;
+= 可以用表达式
三、关键字
四、在影片剪辑对象上加入ActionScript的方法与常用事件
1、在影片剪辑对象上加入ActionScript的语法格式
使用onClipEvent()来设置影片剪辑实例对象上的事件,语法格式:
onClipEvent(事件){
动作代码;
}
2、常见的事件
五、在按钮对象上加入ActionScript的方法与常用事件
1、在按钮对象上加入ActionScript的语法格式
使用on()来设置按钮实例对象上的事件,语法格式:
on(事件){
动作代码;
}
六、在帧上设置对象的ActionScript的方法与常用事件
1、在帧上设置对象的ActionScript的语法格式
可以将设置在对象上的ActionScript写在帧上,在帧上设置对象的ActionScript前,先设置对象的实例名称(目的是为了在程序代码段中识别我们需要控制的是哪个实例对象),语法格式:
实例对象名称.事件名称=function(){
动作代码;
}
七、小技巧
1、脚本助手的使用:帮助不熟悉ActionScript的用户输入程序代码(复杂脚本不建议使用)
2、检查语法内容:选择“检查语法”的按钮检查。

3、格式化ActionScript程序代码:选择“自动套用格式”按钮帮助完成格式码整理。

4、导入及导出程序代码:从动作面板的弹出式菜单中选择导出/导入脚本,导出的程序代码
保存为扩展名是.as的文件。

相关文档
最新文档