flash 事件

合集下载

Flash ActionScript3.0事件流的概念

Flash ActionScript3.0事件流的概念

事件流的概念接下来我们来看一下事件流的一些概念。

当注册一个事件以后,只要事件发生,那flash player就会调度这个事件对象。

当事件目标是非显示类对象的时候,也就是它不会呈现在画面上,那flash player会直接调试这个对象,也就是说,谁发出的,它马上可以接受,直接到达。

如果事件目标是在显示列表当中,是一个显示对象,那flash player会按事件对象所处的结构逐级传递,直到送达目标,这个过程就被称为事件流。

事件对象在显示列表当中穿行,从舞台开始,一直到达目标节点。

比如说,我点击了一下场景当中的某一个按钮,那这个事件实际上是怎么穿行的呢?它是首先先从舞台开始,接下来它进入到下一个层级,比如说我这个按钮是放在MovieClick里面的,那么下一步穿行到它的父节点MovieClick,再下一步才到达目标节点。

我们点击了按钮,它的目标节点就是按钮,到达目标节点这个过程叫捕获阶段,是事件要一直传递到目标;那事件到达目标节点的时候,称为目标阶段,就是这一瞬间称为目标阶段;然后事件再由目标节点返回到舞台,这个过程称为冒泡阶段,就是说事件从目标节点又回来了,一层一层还是要通过它的父级MovieClick,然后再返回到stage上面。

不同事件类型的它的目标节点也是有所不同的。

我们来看一下具体的例子,来了解一下事件流基本概念。

我们刚才说了3种不同的阶段:捕获阶段,目标阶段,冒泡阶段。

那么这3个阶段有一个专门的属性叫eventPhase来对它进行描述,分别用1,2,3来代表不同的阶段。

一般情况下,我们在声明一个函数它为了效率,比如说注册的时候,flash实际上是会省略掉其中的一部分的,因为捕获阶段和冒泡阶段实际上穿越的层级是一样的。

所以,一般在注册事件的时候实际上是有一个参数,就是uesCapture使用捕获这个值到底是要设置为true还是false,如果设置为true的话,它检测过程是在捕获阶段检测,否则它使用false的话,它对应的是目标阶段和冒泡阶段,也就是到达目标然后再冒泡返回来的这个阶段里边去检测这个事件。

Flash案例制作

Flash案例制作

Flash案例制作 西北师范大学
案例三:Flash补间动画—“动画补间”
掌握: .动画的种类 . .补间动画 动画补间(图形) 点到点的直线
.动画补间
逐帧动画 补间动画
形状补间(图像)
引导线的曲线
动画补间
演示
Flash案例制作 西北师范大学
案例四:Flash“动画补间”—引导层动画
掌握:
•引导层动画的使用及注意事项 •形状补间动画 •补间动画的注意事项:
用图形指令来表示—图元。如Line x1,y1 x2,y2
Flash案例制作 西北师范大学
矢量图像放大效果
图像与图形的区别
• 图像的存储是从左到右,从上到下 图形是按图元指令的先后顺序存储 • 图像放大缩小有像素损失;图形可任 意放大缩小,可进行局部编辑 • 图像容量比图形大的多,图形以计算 时间为代价
Flash案例制作 西北师范大学
案例六:Flash遮罩技术示例一红绿蓝三基色课件
掌握: •遮罩的含义
在Flash的图层中有一个遮罩图层类型,为了 得到特殊的显示效果,可以在遮罩层上创建一个 任意形状的“视窗”,遮罩层下方的对象可以通 过该“视窗”显示出来,而“视窗”之外的对象 将不会显示。
•遮罩的作用
Flash案例制作 西北师范大学
案例十:Flash声音控制方法二
—将声音文件直接放入时间轴
掌握: •声音控制的方法 •文字与声音同步 •遮罩技术的使用 •“落雪”文字制作 •图像转图形的方法 •雪花制作方法
演示
Flash案例制作 西北师范大学
案例十一:酒精灯燃烧
综合大作业
掌握: •动画补间和形状补间 •动画补间的两种方法 •遮罩技术的使用 •混色器中位图的使用 •按钮的使用

Flash常用函数命令用法

Flash常用函数命令用法

Flash常用函数命令用法1、gotoAndPlay(scene, frame)参数scene 播放头将转到的场景的名称。

frame 播放头将转到的帧的编号或标签。

说明动作;将播放头转到场景中指定的帧并从该帧开始播放。

如果未指定场景,则播放头将转到当前场景中的指定帧。

示例当用户点击 gotoAndPlay 动作所分配到的按钮时,播放头将转到第 16 帧并开始播放。

on(release) {gotoAndPlay(16);}2、gotoAndStop(scene, frame)参数scene 播放头将转到的场景的名称。

frame 播放头将转到的帧的编号或标签。

说明动作;将播放头转到场景中指定的帧并停止播放。

如果未指定场景,则播放头将转到当前场景中的帧。

示例当用户点击 gotoAndStop 动作所分配到的按钮时,播放头将转到第 5 帧并且影片停止播放。

on(release) {gotoAndStop(5);}3、on(mouse Event) {statement(s);}参数statement(s) 发生 mouse Event 时要执行的指令。

mouse Event 是称作“事件”的触发器。

当发生此事件时,执行事件后面花括号中的语句。

可以为 mouse Event参数指定下面的任何值:- press 在鼠标指针经过按钮时按下鼠标按钮。

- release 在鼠标指针经过按钮时释放鼠标按钮。

- release Outside 当鼠标指针在按钮之内时按下按钮后,将鼠标指针移到按钮之外,此时释放鼠标按钮。

- rollout 鼠标指针滑出按钮区域。

- rollover 鼠标指针滑过按钮。

- dragOut 在鼠标指针滑过按钮时按下鼠标按钮,然后滑出此按钮区域。

- dragOver 在鼠标指针滑过按钮时按下鼠标按钮,然后滑出此按钮,再滑回此按钮。

- key Press (“key”) 按下指定的 key。

Flash CS4 事件

Flash CS4  事件

Flash CS4 事件事件就是所发生的、ActionScript能够识别并可响应的事情。

SWF文件进行的任何与用户交互都可以视为事件,如键盘输入、鼠标单击等。

●1.事件处理从本质上来说,当ActionScript程序在运行时,Flash Player只是在等待某些事情的发生。

当这些事情发生时,Flash Player将会运行为这些事件指定的ActionScript代码。

●事件处理基本结构无论何时编写处理事件的ActionScript代码,都会包含三个元素(事件源、事件和响应),并且遵循以下基本结构:function eventResponse(eventObject:EventType):void{//为响应事件而执行的程序代码}eventSource.addEventListener(EventType.EVENT_NAME, eventResponse);在上面的代码中,首先定义一个函数,用于指定为响应事件而执行的程序代码。

然后,调用事件对象的addEventListener()方法,以便当事件发生时,执行该函数的动作。

●事件对象在ActionScript 3.0中,每个事件都由一个事件对象表示。

事件对象是Event类或某个子类的实例,它不但存储有关特定事件的信息,还包含便于操作事件对象的方法。

例如,当Flash Player检测到鼠标单击时,它会创建一个事件对象(MouseEvent类的实例)以表示该特定鼠标单击事件。

为方便对这些属性和方法的访问,Flash Player API定义了一个Event类,作为所有事件对象的基类。

Event类定义一组基本的、适用于所有事件对象的属性和方法,其详细说明如下。

事件侦听器也称为事件处理函数,是Flash Player为响应特定事件而执行的函数。

添加事件侦听器的过程分为两步:首先,为Flash Player创建一个为响应事件而执行的函数或类方法(也可称为侦听器函数或事件处理函数)。

FLASH掉程序

FLASH掉程序

在FLASH内已经下载了正确的程序(因为已经正常运行过),重新上电后,程序丢失,系统不能正常运行。

重新下载程序后又正常。

可能原因是:FLASH在上电或掉电时,数据内容给擦掉了或出错了(此现象跟CPU没关系),可能是一个块给擦了,也可能是几个块给擦了。

请问高手,用软件有什么解决办法可以解决此问题(避免系统不能正常启动运行)?用FLASH块不断备份不知行不行,希望高手指教,谢谢!(1、下载完后是不会掉电的。

软件程序的走向基本是这样的,从ROM中启动,把FLASH程序COPY到SDRAM中,然后在SDRAM中运行。

如果刚开始FLASH中没有程序,ROM程序内可以自动检查通信口,以下载程序到FLASH。

下载完毕后,会同时把程序COPY到SDRAM内,然后在SDRAM中运行。

下载或COPY程序到SDRAM是否成功可以在显示屏上显示。

2、在正常运行时,掉电,重新上电,系统没法正常运行。

3、数据丢失,什么时候给擦掉了?软件还是硬件?我也不清楚,因为这个现象复现起来有点困难,出现的机率约0.5%)分析:1、检查一下FLASH的读写速度是否与CPU匹配,当读写刚好临界,可能会产生无法预知的操作。

(软件问题)2、碰上过FLASH写入程序后,在某次上电时数据被意外改写的故障,后来发现是在上电时,由于FLASH的写信号在跳变,刚好满足FLASH的写命令,使得FLASH被改写。

解决办法:A、使用带有上电电压检测功能得FLASH,上电电压不足时,FLASH处于复位状态;B、改变FLASH写、片选电路得设计,保证在上电CPU没有完成复位时,这个信号被锁定在无效状态下。

(硬件问题)3、有可能是悬空脚的问题,有产品在使用一段时间后会出现FLASH被修改的情况,将WR脚置高就好了4、些系统中,CPU和FLASH使用了不同的复位电路,即使使用了相同的复位电路,也有可能FLASH和CPU完成复位的时间不一样,这其中就要考虑CPU完成复位的时间到程序执行从FLASH读取程序到SDRAM的时间间隔中,FLASH是否能够完成复位5、 a、比较出错FLASH内的程序代码与原代码是否一致(其中包括BOOTROM的程序,并且BOOTROM程序优先比较)b、如果代码一致,则原因在于CPU的上电时序与系统的MEMORY等时序不一致c、如果代码不一致,有情况A:程序都在一个地方被改,情况B:程序被改的地方随机。

Flash CS3 鼠标事件处理程序

Flash CS3  鼠标事件处理程序

Flash CS3 鼠标事件处理程序所谓鼠标事件是指用户在影片播放过程中,通过单击某个按钮、影片剪辑或文本字段而发生的鼠标事件。

此类鼠标事件总涉及一个按钮、影片剪辑或文本字段并且可以触发一个动作的发生。

例如,单击按钮开始或停止播放影片,单击按钮打开链接网页等等,这些动作的处理程序是制作交互性动画常见的处理事件。

1。

鼠标单击事件这类事件处理程序的代码块结构都是固定的,第一个语句给指定元件添加一个事件侦听器,用来检查用户是否单击该元件;第二个语句是执行程序的代码块。

例如playButton.addEventListener(MouseEvent.CLICK,clickHandler);function clickHandler(event:MouseEvent):void{This.play();//程序代码块};在这个语句中,无论何时只要用户单击playButton按钮,clickHandler()函数就会执行。

2。

鼠标拖动事件如果用户需要在场影中拖动对象,则需要在程序代码中加入两个事性侦听器,mouseDown(MouseEvent.MOUSE_DOWN)和mouseUp(MouseEvent.MOUSE_UP),如下面的例子。

ball_mc.addEventListener(MouseEvent.CLICK, clickHandler);ball_mc.addEventListener(MouseEvent.MOUSE_DOWN,mouseDownListener);function mouseDownListener(event:MouseEvent):void{ball_mc.startDrag();};function mouseUpListener(event:MouseEvent):void{ball_mc.stopDrag();};通过给按钮、影片剪辑或文本添加此脚本程序并测试影片,影片中的元件即可进行拖动。

关于 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 图像加载到影片剪辑中,或允许用户使用移动鼠标的方法在场景中调整元素的位置。

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

Flash事件含义

Flash事件含义

Flash 交互代码含义
一、鼠标事件
Press 当用户将鼠标移到电影按钮并按鼠标按键时,动作触发
Release 当用户将鼠标移到电影按钮并且释放鼠标按键时,动作触发(这是大多数动作的默认鼠标事件)
Release Outside 当用户按下电影按钮,且在按钮外释放鼠标时动作发生
Roll Over 当用户将鼠标放置在按键上时动作发生
Roll Out 当用户将鼠标从按键上移出时动作发生
Drag Over 当用户将鼠标放置在电影按键上的同时按住鼠标按钮,然后将鼠标从电影按钮上拖出(依然按住鼠标按钮),然后在将鼠标放回电影按键时动作发生
Drag Out 当用户将鼠标放置在电影按键上后,按住鼠标键,然后将鼠标从电影按钮上拖出(依然按住鼠标按钮)时动作发生
二、键盘事件
键盘事件不区分大小写。

三、帧事件
总是设置在关键帧,可用于在某个时间点触发一个特定动作。

Flash AS2.0 onClipEvent (事件)名称

Flash AS2.0 onClipEvent (事件)名称

onClipEvent (事件) {//需要执行的脚本程序}这个可以看成是公式,你记住就行了,是写在影片剪辑身上的。

括号里的“事件”其实是个触发器,当事件发生时,执行该事件后面花括号中的语句。

具体有哪些事件,我把它们都列出来。

- load 影片剪辑一旦被实例化并出现在时间轴中时,即启动此动作。

- unload 在从时间轴中删除影片剪辑之后,此动作在第一帧中启动。

处理与Unload 影片剪辑事件关联的动作之前,不向受影响的帧附加任何动作。

- enterFrame 以影片帧频不断地触发此动作。

- mouseMove 每次移动鼠标时启动此动作。

_xmouse 和_ymouse 属性用于确定当前鼠标位置。

- mouseDown 当按下鼠标左键时启动此动作。

- mouseUp 当释放鼠标左键时启动此动作。

- keyDown 当按下某个键时启动此动作。

使用Key.getCode 方法获取最近按下的键的有关信息。

- keyUp 当释放某个键时启动此动作。

使用Key.getCode 方法获取最近按下的键的有关信息。

- data 当在loadVariables 或loadMovie 动作中接收数据时启动此动作。

当与loadVariables 动作一起指定时,data 事件只发生一次,即加载最后一个变量时。

当与loadMovie 动作一起指定时,获取数据的每一部分时,data 事件都重复发生。

Load 事件load事件在影片剪辑完全加载到内存中时发生。

在每次播放Flash影片时,每个影片剪辑的load事件只发生一次。

认识load事件(1)在场景中建立一个影片剪辑实例,选中实例,打开“动作”面板,输入下列代码:onClipEvent (load) {trace("发生load事件");}(2)测试影片,在“输出”面板中看到的输出信息只有一次。

(3)返回主场景,在第二帧插入一帧,测试影片,虽然帧不断循环播放,但输出信息也只有一次。

flash案例3按钮

flash案例3按钮

第六章交互动画的灵魂------按钮教学目标:1、掌握按钮制作的基本方法。

2、掌握用按钮控制动画的播放。

3、掌握透明按钮的制作一、制作按钮的步骤1、新建一个FLASH文件。

2、插入--新元件--按钮。

3、“弹起”是指按钮的基本样式。

4、“经过”是指鼠标移到按钮上的按钮样式。

5、“按下”是指鼠标按下后的按钮样式。

6、“点击”是指按钮可点击的范围7、如果要制作透明按钮,仅在“点击”画出点范围即可。

二、制作以下实例1、基本按钮分析:1、弹起:二个图片元件2、经过:与弹起时的一个图片元件相同,在此基础上用“按我”的图片元件创建一个影片元件。

3、按下:“谢谢”图片元件2、练习:制作一个带有动画效果的按钮三、按钮的点击作用1、一般按钮点击后均会产生一个动作,如:停止、播放、重放、跳转、超链2、按钮的几个常用动作:on动作命令下面我们就详细地向大家介绍一下这八种事件的使用。

1、press 在鼠标指针经过按钮时按下鼠标按钮。

单击press,然后选择动作语句,双击【全局函数】|【时间轴控制】中的play 命令。

完整的action是:on(press){ //设定鼠标事件为按下,然后执行大括号里面的语句。

play(); //按钮响应后执行play(播放)动作}如图所示。

press动作当然,在大括号里面还可以用其他的语句,比如说,gotoAndPlay(yourframe); //点击按钮后,就会从你设置的帧播放。

2、release 在鼠标指针经过按钮时释放鼠标按钮。

单击选择release然后与第一个事件相同加入play命令。

完成的语句如下:on(release){ //当鼠标按下释放的时候,执行下面的语句动作。

play(); //按钮响应后执行play(播放)动作。

}如图所示。

release动作可以看到,当鼠标左键按下按钮的时候,并没有激发播放动作,而是当鼠标左键放开的时候,执行了播放动作。

这也是与“press”事件不同的地方。

Flash AS2.0 onClipEvent (事件)名称

Flash AS2.0 onClipEvent (事件)名称

onClipEvent (事件) {//需要执行的脚本程序}这个可以看成是公式,你记住就行了,是写在影片剪辑身上的。

括号里的“事件”其实是个触发器,当事件发生时,执行该事件后面花括号中的语句。

具体有哪些事件,我把它们都列出来。

- load 影片剪辑一旦被实例化并出现在时间轴中时,即启动此动作。

- unload 在从时间轴中删除影片剪辑之后,此动作在第一帧中启动。

处理与Unload 影片剪辑事件关联的动作之前,不向受影响的帧附加任何动作。

- enterFrame 以影片帧频不断地触发此动作。

- mouseMove 每次移动鼠标时启动此动作。

_xmouse 和_ymouse 属性用于确定当前鼠标位置。

- mouseDown 当按下鼠标左键时启动此动作。

- mouseUp 当释放鼠标左键时启动此动作。

- keyDown 当按下某个键时启动此动作。

使用Key.getCode 方法获取最近按下的键的有关信息。

- keyUp 当释放某个键时启动此动作。

使用Key.getCode 方法获取最近按下的键的有关信息。

- data 当在loadVariables 或loadMovie 动作中接收数据时启动此动作。

当与loadVariables 动作一起指定时,data 事件只发生一次,即加载最后一个变量时。

当与loadMovie 动作一起指定时,获取数据的每一部分时,data 事件都重复发生。

Load 事件load事件在影片剪辑完全加载到内存中时发生。

在每次播放Flash影片时,每个影片剪辑的load事件只发生一次。

认识load事件(1)在场景中建立一个影片剪辑实例,选中实例,打开“动作”面板,输入下列代码:onClipEvent (load) {trace("发生load事件");}(2)测试影片,在“输出”面板中看到的输出信息只有一次。

(3)返回主场景,在第二帧插入一帧,测试影片,虽然帧不断循环播放,但输出信息也只有一次。

解决STM32Flash擦写操作导致USART接收丢数据

解决STM32Flash擦写操作导致USART接收丢数据

解决STM32Flash擦写操作导致USART接收丢数据问题:该问题由客户提出,发生在STM32F103VDT6器件上。

据客户工程师讲述,在其产品设计中使用了STM32片上Flash模拟了EEPROM 的功能,用于存贮数据。

在软件调试时,发现开启此功能,会影响到USART通信,导致偶尔发生个别数据接收不到的现象。

调研:检查其软件代码,发现其中对Flash上数据的更新操作分为如下几个步骤:1. 保存Flash页上的数到RAM中;2. 擦除Flash页;3. 修改RAM中的数据;4. 将RAM中的数据写回Flash页上;对照STM32的数据手册,查找到相关的数据:1. 字写入时间 40uS ~ 70uS;2. 页擦除时间40mS;检查软件代码,找到对USART的设置:1. 波特率115200BPS;2. 帧格式为1 个起始位,8个数据位,2个停止位;检查软件代码,发现其对USART的接收数据采用中断的方式进行读取。

结论:通过计算,USART的每个帧的传输时间为:该时间大于Flash的字写入时间,小于Flash的页擦除时间。

所以,在Flash页擦除期间有可能发生多次字节帧的传输。

而在此其间,由于Flash接口不可用,CPU不能取指令,导致中断得不到及时响应,从而发生接收到的数据未及时读走而被覆盖的现象。

处理:在内存中建立循环缓冲区,开启DMA 通道。

一旦USART 有数据收到,DMA 负责将其传输至循环缓冲区中。

软件定期检测循环缓冲区中是否有接收到的数据,如果有则加以处理。

建议:在只有一个Flash 模块的STM32 中,CPU对Flash 接口的使用具有独占性。

该接口不能同时进行多个操作,比如,在写操作的同时进行读取操作,或在擦除操作的同时进行读取操作,即便读、写操作的地址不同,或者所读数据不在被擦除的页上也不行。

因此,当程序运行在Flash 上情况下,在对Flash 进行写入、擦除操作时,往往会因为CPU 取不到指令而造成程序执行的停顿。

flash中调用鼠标右键单击事件

flash中调用鼠标右键单击事件

flash中调用鼠标右键单击事件flash对右键的按下没有对应的响应事件,但是有的时候需要用到这个事件.在以前可以根据Key的侦听事件中Key.isDown(2)来判断按下了右键.但是在as3中Key.isDown函数因为安全原因被删掉了.那么在as3中怎么获取右键的按下事件呢?as3的Mouse和MouseEvent也没有右键的事件.同样在Keyboard和KeyboardEvent中没有右键相关的事件.但是,如果想想ContextMenu,就有办法了,在flash中,右键响应只关联着右键菜单.所以在ContextMenu里面有右键的响应事件ContextMenuEvent.MENU_Select(在as2里面是ContextMenu.onSelect).as3中文帮助里面对menuSelect的解释:在用户首次生成上下文菜单但尚未显示上下文菜单内容时调度。

这将允许您的程序在显示菜单之前修改上下文菜单项集。

用户通过右键单击指针设备来生成上下文菜单。

所以可以用menuSelect来作为右键的响应事件.在这个事件执行后就会显示右键菜单.在这之前,可以执行响应函数,修改对应的菜单内容.使用方法:as3:myMenu = new ContextMenu();myMenu.hideBuiltInItems();//隐藏原有菜单myMenu.addEventListener(ContextMenuEvent.MENU_Selec t,menuSelect);this.contextMenu = myMenu;function menuSelect(e:ContextMenuEvent){trace(”menuSelect”);}as2:var my_cm:ContextMenu = new ContextMenu(); function menuHandler(obj:Object, menu:ContextMenu) { trace(’menuSelect’);}my_cm.onSelect = menuHandler;this.menu = my_cm;。

Flash动作脚本中常用的语句

Flash动作脚本中常用的语句

一、play命令(播放)1、使用格式play()该命令没有参数,功能是使动画从它的当前位置开始放映。

二、stop命令(停止播放)1、使用格式stop()该命令没有参数,功能是停止播放动画,并停在当前帧位置。

三、gotoAndPlay命令(跳至〃播放)1、使用格式gotoAndPlay(frame)参数说明:frame:跳转到帧的标签名称或帧数。

该命令用来控制影片跳转到指定的帧,并开始播放。

2、用法举例gotoAndPlay(10)以上动作代码的作用是:让播放头跳转到当前场景的第10帧并从该帧开始播放。

四、gotoAndStop命令(跳至〃停止播放)1 / 411、使用格式gotoAndStop(frame)参数说明:frame:跳转到帧的标签名称或帧数。

该命令用来控制影片跳转到指定的帧,并停止在该帧。

2、用法举例gotoAndStop(10)以上动作代码的作用是:让播放头跳转到当前场景的第10帧并停止在该帧。

五、stopAllSounds命令(停止所有音轨)1、使用格式stopAllSounds()该命令没有参数用来停止当前FlashPlayer中播放的所有声音。

六、if...else语句(条件语句)1、使用格式if (条件){语句1;} else {语句2;}当条件成立时,执行〃语句1〃的内容。

当条件不成立时,执行〃语句2〃的内容。

2、用法举例if(a>b) { 〃判断a是否大于btrace("a>b"); 〃若成立,则输出a>b} else {trace(H b>=a H); 〃若不成立则输出b>=a}七、switch...case...default 语句(条件语句)1、使用格式switch (表达式){case 值1:执行语句1;break ;case 值2:执行语句2;break ;……default:语句;}先计算表达式的值,然后去各个case子句中寻找对应的执行语句。

FLASH掉程序问题

FLASH掉程序问题

现在开始比较你的程序块看是不是和原始的程序块一致。如果你的系统有BOOTLOADER的话,你最先比较这一段代码。如果这一段代码相同,而你的程序又没有跑起来的话,那应该不是程序出了问题。仔细考虑一下CPU的上电时序吧。应该在CPU上电之后,它自己应该去初始化一些设备。包括MEMORY INTERFACE的配置。举个例子,是不是CPU上有地方设置程序是从FLASH启动还是从仿真接口上下载程序启动,在我做的一个系统中,就有这样一个管脚来设置这一点。如果这管脚没有接上高电平或是地电平而是悬空的话,那就能够出现这样一种情况,可能会启动不了程序。或者是某一次启动不了,以后就都启动不了了。
2 改变FLASH写、片选电路得设计,保证在上电CPU没有完成复位时,这个信号被锁定在无效状态下。
提醒:LZ请检查一下FLASH的读写速度是否与CPU匹配
如果刚好合适或略慢一点,有可能造成上述现象。我曾经在一个要求100ns的系统,使用了120ns的EPROM,结果产生与LZ类似的现象。
作者: tanflying 于 2006-10-13 16:09:00 发布:
首先是尽可能的收集几块这样已经出错的FLASH,把这几块FLASH从主板上焊下来,(呵呵,如果是BGA的更麻烦,不过问题总是要解决,问题也是可以解决的),然后使用工具把这几块FLASH的内容读出来。如果有在线仿真的工具更好,自己写段程序使用在线仿真工具直接把整个FLASH的内容读出来。
然后,拿到这段数据和原始烧写的那个程序相比较。这其中要注意到的是FLASH的各个BLOCK写的是程序块还是参数块。参数块可能是一些系统初始化参数,这些参数修改了,或者某些关键参数被修改了,程序有可能就不会继续执行下去了。如果是LOADER或者是其他程序中被修改了的话,呵呵,这种情况出现的几率应该是最大。参数块有可能是在正常程序执行的时候修改的。暂时不要考虑因为这种模块被修改而造成程序跑不起来的因素。

flash动画脚本基础PPT课件

flash动画脚本基础PPT课件
on语句用于设置鼠标的各种事件,实际上 是事件而不是动作。
双击on语句,在脚本编辑区出现on事件提 示表,在提示列表中包含了应用于按钮实 例的各种事件。
.
23
7.6.7 路径
在flash中用ASP编辑程序脚本时,经常需 要对某对象实施一种动作或在某种场合下 调用某对象。为了找到不同位置的对象, 就需要引入路径的概念。
.
25
B、相对路径
相对路径是以当前发出指令的对象所在的 时间轴为起点,去调用其他电影剪辑及其 变量。在flash中,相对路径是以_parent开 头的。 _parent代表父目录,也就是包含该 元件所在的时间轴。
当在Ball01元件上要控制Ball001停止播放 时,使用相对路径就可以写成 _parent .Ball001.stop()。
.
15
二、鼠标事件
鼠标事件即响应鼠标的动作,能够响应鼠 标事件的对象有按钮事件和影片剪辑按钮 事件两种类型。
A、定义按钮事件:举例说明。 B、定义影片剪辑的鼠标事件。
.
16
7.6 控制电影动作
在flash影片控制中包括最常用的动作,用 于控制影片或影片剪辑元件中的时间轴。
利用这几种常用的动作可以轻松实现交互 式影片中最为常见的效果。
例如:在以下代码中,hoursWorked是 weeklyStats的属性,而后者是employee的属性。 employee.weeklyStats.hoursWorked
影片剪辑型(Movieclip):用来存储影片剪辑型 数据。它是惟一引用图形元素的数据类型。
.
30
7.8 变量
定义 是用来存储信息的存储器,脚本程 序中的变量可以保存所有类型的数据,包 括字符串、数值、布尔值(true或false)等。

Flash CS3 入门 键盘控制事件

Flash CS3 入门  键盘控制事件

Flash CS3 入门键盘控制事件Flash中的动画除了可以通过鼠标控制外,还可以通过键盘控制。

键盘控制既可以是简单的输入字符,也可以是控制动画中的对象。

如图76-1所示,为通过键盘中的方向键,控制动画中对象的移动方向。

在制作过程中,除了要为动画添加动作脚本外,还需要创建AS 文件。

图76-1 键盘控制事件效果练习要点●AS文件●键盘事件●InteractiveObject类练习过程1.创建AS文件InteractiveObject类是用户可以使用鼠标和键盘与之交互的所有显示对象的抽象基类。

InteractiveObject类本身不包含任何用于在屏幕上呈现内容的API。

鉴于此原因,如果要创建InteractiveObject类的一个自定义子类,将需要扩展其中一个具有在屏幕上显示内容的API的子类,如Sprite、SimpleButton、TextField或者MovieClip类。

(1)在Flash中执行【文件】|【新建】命令,在打开的【新建文档】对话框中单击76-2所示。

保存图76-2 创建并保存AS文件(2)在AS文档中输入输入package语句,将InteractiveObject类、KeyboardEvent对象与事件引入,如图76-3所示。

保存位置图76-3 输入package 语句 (3)将光标放置在import 指令语句下方、大括号中间,输入public 属性关键字语句,如图76-4所示。

图76-4 输入public 属性关键字语句其中, 其中,在响应用户的键盘输入操作时,Flash Player 将调度KeyboardEven 对象。

有两种类型的键盘事件:KeyboardEvent.KEY_DOWN 和KeyboardEvent.KEY_UP 。

(5)按Enter 键另起一行,输入代码设置具体控制键盘操作语句,如图76-5所示。

至此AS 文件创建完成。

图76-5 输入控制键盘操作语句2.创建影片剪辑AS文件只是为键盘操作创建运行的呈现,真正实现键盘操作效果,还需要创建Flash文件以及被控制的对象。

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

四、捕获键盘输入-键盘事件
可以使用事件侦听器来响应键盘事件。捕获并根据按键的键控代码或字符代码来执 行相应的动作。 键控代码keyCode属性为数值,代表键盘上的某个键,在同一键上的不同字符具 有相同的键控代码值。例如:“5”和“%”具有相同的键控代码值53;“A”和 “a”具有相同的键控代码值65。键与其键控代码之间的映射取决于设备和操 作系统。因此,不应使用键映射来触发动作,而应使用Keyboard类提供的预 定义常量值来引用相应的keyCode属性。例如,对象Shift键使用 Keyboard.SHIFT常量。 字符代码charCode属性是某个字符的数值。“A”和“a”虽然具有相同的键控代码 值,但它们的字符代码不同,“A”为65,“a”为97;大键盘和数字键盘上的 “1”虽然具有不同的键控代码值,但它们具有相同的字符代码49。 例:function codeReport(e:KeyboardEvent):void{ trace(“Key Pressed:”+String.fromCharCode(e.charCode)); trace(“key Code:”+e.keyCode); trace(“character code:”+e.charCode); } stage.addEventListener(keyboardEvent.KEY_DOWN,codeReport); 示例:打击乐器
七、触发连续动作-计时事件
Event.ENTER_FRAME事件只能以帧频触发,局限性 较大,如果应用程序需要一致的计时间隔,则需要 将其与实际的日历或时时间联系在一起。许多如 游戏、动画和实时控制器等应用程序需要在不同计 算机上均能保持一致的、规则的时间驱动计时机制。 AS3.0的Timer类提供了一个功能强大的解决方案。 AS3.0 Timer 使用AS3.0事件模型,Timer类在每次达到指定的 时间间隔时都会调度计时器事件。要启动计时器, 先构造Timer类的实例,并告诉它每隔多长时间生 成一次计时器事件,以及在停止前生成多少次事件。
2.为不同的对象定义上下文菜单 在Flash ActionScript 3中,可以为主场景或 场景中某个对象定义不同的上下文菜单。实 现用户在不同区域单击右键时,弹出不同的 上下文菜单。 示例:不同对象的上下文菜单。
3.自定义上下文菜单项 可以通过创建ContextMenuItem类的实例来自定义上 下文菜单项。创建实例时需要为这个实例添加一个用 引号括起来的字符串参数,作为上下文菜单中显示的 文字。然后,使用push()方法把这个新定义的菜单 项添加到自定义菜单项customItems的数组中。最 后,还需要为用户选中此菜单项添加事件驱动和执行 相应动作的函数或方法。 (菜单项实例.separatoBefore=true;//添加分隔线) 示例:自定义菜单项
五、自定义上下文菜单
Flash Player有三种类型的上下文菜单-标准菜单(当在 FlashPlayer中右键单击时出现)、编辑菜单(当在可选择或 可编辑的文本字段中右键单击时出现)和错误菜单(当SWF文 件未能加载到FlashPlayer中时出现)。 只有标准菜单和编辑菜单才能使用ContextMenu类进行修改。 ContextMenu类提供对FlashPlayer上下文菜单中的项的控制。 用户通过在FlashPlayer中右击(Windows)或按住Control 单击(Macintosh)可打开上下文菜单。可以将 ContextMenu对象附加到特定的按钮、影片剪辑或文本字段 对象,也可以附加到整个影片级别。为此,可以使用Button、 MovieClip或TextField类的menu属性。
三、捕获鼠标输入-鼠标事件
鼠标单击将创建鼠标事件,这些事件可用来触发交互式 功能。可以将事件侦听器添加到舞台上以侦听在SWF文件中 任何位置发生的鼠标事件。也可以将事件侦听器添加到舞台 上从InteractiveObject进行继承的对象(例如,Sprite或 MovieClip)中,单击该对象时将触发这些侦听器。 鼠标事件主要包括——单击(CLICK),双击 (DOUBLE_CLICK)-双击要使对象的doublenabled属性 为true,按下鼠标(MOUSE_DOWN),释放鼠标 (MOUSE_UP),将光标移动到交互对象上 (MOUSE_OVER),将光标从交互对象上移开 (MOUSE_OUT),在交互对象上移动光标 (MOUSE_MOVE),鼠标滚轮在交互对象上移动 (MOUSE_WHEEL)。
例如: var mytimer:Timer=new Timer(1000,2); mytimer.addEventListener(TimerEvent.TIMER,handler1); mytimer.addEventListener(TimerEvent.TIMER_COMPLETE,h andler2); mytimer.start(); function handler1(e:TimerEvent):void{ mc.x+=100; } function handler2(e:TimerEvent):void{ trace("时间到了"); mytimer.stop(); }
八、焦点事件
1.播放器焦点 Event.ACTIVATE 活动状态 Event.DEACTIVATE 非活动状态 2.对象焦点 FocusEvent.FOCUS_IN FocusEvent.FOCUS_OUT
例1: stage.addEventListener(Event.ACTIVATE,myfu n1); stage.addEventListener(Event.DEACTIVATE,m yfun2); function myfun1(e:Event):void{ trace(“活动状态”); } function myfun2(e:Event):void{ trace(“非活动状态”); }
2.删除事件侦听器 通过删除事件侦听器,使原创建的事件侦听器不再发生作 用,同时释放内存,降低系统开销。 格式: 事件目标.removeEventListener(事件类型,侦听器) 例:function fun(e:MouseEvent):void{ trace("单击"); } mc.addEventListener(MouseEvent.CLICK,fun); mc.removeEventListener(MouseEvent.CLICK,fun);
自定义菜单项始终出现在FlashPlayer上下文菜单的顶部,并位于所 有可见内置菜单项之上;内置菜单项和自定义菜单项之间由一个 分隔条加以分隔。不能从上下文菜单中删除“设置”菜单项和 “关于”菜单项。必须在使用ContextMenu()构造函数创建 ContextMenu对象后才能调用其方法。 可以使用ContextMenu类创建在FlashPlayer上下文菜单中显示的 自定义菜单项。每个ContextMenuItem对象都有一个显示在上 下文菜单中的标头(文本)。若要向上下文菜单中添加新项,需 将其加到ContextMenu对象的customItems数组。利用 ContextMenuItem类的属性,可以启用或禁用特定菜单项,也 可以显示或隐藏菜单项。 如何自定义菜单呢?在FlashPlayer中,上下文菜单项由 ContextMenu类控制,可以使用ContextMenuItem类创建上 下文菜单中的自定义菜单项,可以将ContextMenu对象附加到 主场景、影片剪辑、按钮,或者文本字段等。
六、触发连续动作-帧事件
Event.ENTER_FRAME事件是以侦频触发,持续执行。例如,主场景帧 频是12帧/秒,那么,ENTER_FRAME事件就会每秒钟引发12次,即 使时间轴停止,事件也仍然会发生。只有删除此事件控制或移除响应 动作的对象,才能停止该事件。 用法:事件目标.addEventListener(Event.ENTER_FRAME,侦听函数) 例如:
二、事件处理
1.创建事件侦听器 使用事件的前提是要先注册该事件。注册事件后,事件对 象、事件目标和侦听器就形成了逻辑关系。 格式: 事件目标.addEventListener(事件类型,侦听器) .addEventListener( , ) 注册事件后,同时定义侦听器函数,并把事件对象作为参 数传递给它,语法结构如下: function 侦听函数(参数名:事件类){ //code; }
1.隐藏上下文菜单 可以通过以下代码来隐藏上下文菜单中的大部 分项,但是“设置”、“显示重绘区域”、 “调试器”仍然保留。 例如: var myMenu:ContextMenu=new ContextMenu(); myMenu.hideBuiltInItems(); this.contextMenu=myMenu;
function da(e:Event):void{ mc.width += 10; mc.height += 10; if(mc.width > 500){ mc.removeEventListener(Event.ENTER_FRAME,da); } } mc.addEventListener(Event.ENTER_FRAME,da);
2.自定义鼠标光标
可以将鼠标光标(鼠标指针)隐藏或交换为舞 台上的任何显示对象。首先隐藏光标,然后 创建自定义光标的实例,通过侦听调用函数 设置自定义光标的位置为实际鼠标所在的位 置。 示例:自定义光标
3.鼠标滚轮
鼠标滚轮是位于鼠标左右键中间的可前后滚动的象轮 子一样的按钮。 通过侦听MouseEvent.MOUSE_WHEEL事件,来响 应鼠标滚轮的运动和方向。鼠标滚轮有一个非常重 要的属性delta,通过delta可以设定用户滚动鼠标 的方向和速度。正delta数值代表鼠标滚轮向前 delta (远离用户)滚动,负delta数值代表鼠标滚轮向 后(朝向用户)滚动。delta值的范围是从-3到+3, 绝对值越大,滚动得越快。此设置取决于设备和操 作系统,并且可由用户配置,但仅应用于 MouseEvent.MOUSE_WHEEL事件。 示例:滚轮运动
相关文档
最新文档