1.载入外部xml方法
注意点:如果将flash放在html中,as中xml的路径都是相对html的路径
2.鼠标跟随事件
注意点:用stage.addEventListener(MouseEvent.MOUSE_MOVE, FollowMe2);// FollowMe2跟随事件方法名,FollowMe2方法中必须加上event.updateAfterEvent();
这样鼠标可以更流畅
3.动态文本遮罩
注意点:如果动态文本无法正常显示设置过滤器
var txt_blur:BlurFilter = new BlurFilter(0, 0, 0);
intro.filters=[txt_blur];
设置动态遮罩:contentMc.mask=maskMC;
4.跳帧时无法读取帧里的元件
注意点:flash的跳帧延时问题,可以用Event.ENTER_FRAME事件监听是否读取到元件,读取到后移除监听(不知道是否有更好办法)
5.关于监听带参
通常设置一个事件都是
元件.addEventListener(事件名,事件处理方法);
在这里无法将这个事件的一些设置参数传进处理方法中
在这里分享一个工具类EventDpMediator.as
package CYPL.utils {
import flash.events.Event;
import flash.events.IEventDispatcher;
import flash.utils.Dictionary;
public class EventDpMediator {
private static var eventObj : Object;
private var _dispatcher : IEventDispatcher;
/**
* @dispatcher 目标对象
*/
public function EventDpMediator(dispatcher : IEventDispatcher) {
_dispatcher = dispatcher;
eventObj = {};
}
/**
* 注册事件
* @eventType 事件类型
* @handler 响应方法
* @arg 参数对象
*/
public function addEventListener(eventType : String,handler : Function,arg : Object = null) : void {
//trace("addEventListener:::", eventType)
removeEventListener(eventType, handler);
if(eventObj[eventType] == undefined) {
eventObj[eventType] = new Dictionary;
eventObj[eventType]["count"] = 0;
}
eventObj[eventType]["count"]++;
_dispatcher.addEventListener(eventType, eventObj[eventType][handler] = handlerX.call(null, handler, arg));
}
/**
* 删除事件
* @eventType 事件类型
* @handler 响应方法
*/
public function removeEventListener(eventType : String,handler : Function) : void {
if(!eventObj[eventType])return;
var __handler : Function = eventObj[eventType][handler];
if(__handler == null)return;
//trace("removeEventListener", eventType);
_dispatcher.removeEventListener(eventType, __handler);
delete eventObj[eventType][handler];
if(eventObj[eventType]["count"]-- == 0) {
delete eventObj[eventType]["count"];
delete eventObj[eventType];
}
}
private function handlerX(handler : Function,arg : Object) : Function {
var This : EventDpMediator = this;
return function(e : Event): void {
handler.call(null, This, e, arg);
};
}
}
}
使用例子:
/**
* @author:CYPL
* @用途:EventDispatcher的中介类,方便进行传递参数
* @date:2009.7.14
* @example:
<============================================================
import CYPL.utils.EventDpMediator;
var ms=new EventDpMediator(stage);
ms.addEventListener(MouseEvent.MOUSE_DOWN,handler,{o:3});
ms.addEventListener(MouseEvent.MOUSE_UP,handler,4);
ms.addEventListener(MouseEvent.CLICK,handler);
//参数m:中介对象,e:事件对象,arg参数对象
function handler(m:EventDpMediator,e:Event,arg:*=null) {
switch (e.type) {
case MouseEvent.MOUSE_DOWN :
trace("MouseEvent.MOUSE_DOWN:",arg.o);
break;
case MouseEvent.MOUSE_UP :
trace("MouseEvent.MOUSE_UP",arg);
break;
case MouseEvent.CLICK :
trace("MouseEvent.CLICK:",arg);
break;
}
//handler内部可以通过第一个参数中介对象来remove
m.removeEventListener(MouseEvent.MOUSE_DOWN,handler);
}
//外部可以直接用中介对象来remove
ms.removeEventListener(MouseEvent.MOUSE_UP,handler);
===========================================================>
*/
分享到:
相关推荐
Flex AS3 学习笔记总结 Flex 是 Adobe 开发的 RIA(Rich Internet Applications)工具,包括 Flex3 SDK、Flex Builder 和服务器产品,如 Lifestyle Data Services、CodeFushion。Flex 应用程序用 Flash.swf 文件...
总结起来,Flash AS3调用外部AS脚本是通过导入并实例化或调用类的方法实现的。这有利于代码组织和复用,同时,如果需要与JavaScript交互,可以利用`ExternalInterface`进行跨语言调用。在实际的开发过程中,了解这些...
总结来说,这个"UDP.rar"压缩包中的"UDP.fla"文件很可能是为了展示如何在AS3环境中使用UDP进行通信,这对于开发实时互动的Flash应用,如多人在线游戏或音视频流媒体服务,具有重要的学习价值。通过解析和运行这个...
总结来说,AS3 MP3播放器是一个利用ActionScript 3.0开发的简单音频播放程序,它利用了Flash Player内置的MP3解码能力,结合基本的用户界面和事件处理,为用户提供播放、暂停、音量控制等功能。对于想要学习AS3音频...
总结,通过AS3和第三方库如`FlvRecorder`,我们可以实现基本的视频录制和本地保存功能。然而,随着HTML5和WebRTC的普及,越来越多的现代浏览器已经不再支持Flash技术,因此开发者可能需要考虑使用更现代的技术栈,如...
根据给定的文件信息,我们可以总结出一系列关于ActionScript 3.0(简称AS3)的关键知识点,这些知识点覆盖了AS3的多个方面,包括日期和时间管理、字符串操作、数组处理、错误处理、正则表达式使用、XML和JSON处理、...
总结而言,“FlipPage-as3”项目展示了AS3在创建互动媒体时的强大功能,尤其是其在实现复杂动画和用户交互方面的能力。对于想要提升作品用户体验的开发者来说,深入研究这个项目,不仅可以学习到AS3的高级特性,还能...
总结来说,这个示例项目演示了如何使用Flash AS3结合TUIO和UDP协议创建一个雷达系统模拟器,使用户能够通过多点触控设备进行交互。通过学习这个示例,开发者可以了解如何处理实时输入数据、实现网络通信以及在AS3...
总结,AS3滚动条制作涉及对DisplayObject容器的使用、事件监听、计算逻辑、鼠标交互以及性能和样式考虑。通过理解和实践这些要点,开发者能够创建出符合需求的、功能完善的滚动条,提升用户体验。在实际项目中,根据...
在ActionScript 3 (AS3)中,JSON (JavaScript Object Notation) 是一种常用的数据交换格式,它轻量级、易读易写,适合网络传输。本篇文章将深入探讨如何在AS3中解析JSON对象,以便在应用程序中使用这些数据。 一、...
总结来说,as3xls是一个强大的AS3库,使开发者能够方便地在客户端处理Excel文件,特别是对于包含中文字符的场景。通过理解其核心概念和API,开发者可以创建出灵活且功能丰富的Excel解决方案。不过,随着Flash逐渐...
总结,AS3结合ZXing库为开发人员提供了强大的工具,使得在Flex或Flash平台上实现二维码功能变得简单易行。无论是创建动态生成的二维码服务,还是构建能够扫描和解析二维码的应用程序,这些技术都能提供必要的支持。
总结,AS3中的JSON处理是通过`JSON.stringify()`和`JSON.parse()`两个核心方法实现的,这些工具使得AS3能够轻松地与其他使用JSON的平台进行数据交互,极大地增强了其在网络通信中的能力。了解和掌握这些基础知识,...
### AS3 Embed 用法详解 #### 一、引言 随着ActionScript 3.0 (简称AS3) 的普及与发展,开发人员越来越多地利用AS3进行Flash项目的开发。在AS3环境中,开发者不再像以前版本那样依赖于Flash IDE中的库来存储图形...
总结来说,使用AS3和Away3D 4.0结合Stage3D GPU加速技术,可以创建出引人入胜的室内全景体验。开发者需要掌握AS3的基本语法、Away3D的API以及Stage3D的原理,才能充分利用GPU的优势,实现高性能的3D渲染。同时,通过...
### 关于AS3 Air ServerSocket支持WebSocket的知识点 在Adobe Flash Platform中,ActionScript 3 (AS3) 提供了创建高性能网络应用的能力。本文将详细介绍如何利用 AS3 和 Adobe AIR 的 `ServerSocket` 类来实现一个...
总结来说,AS3滚动文字的实现涉及到ActionScript的基础知识,尤其是`TextField`类的使用,以及通过事件驱动和定时器实现动态滚动效果。理解并掌握这些知识点,可以帮助开发者创建出具有吸引力的动态文本展示。
总结,Flash AS3 相册的制作涵盖了图形设计、编程、数据处理等多个方面,是学习Flash开发和AS3语法的绝佳实践项目。通过不断探索和实践,可以创造出独具特色的互动相册,为网页增添更多生动和趣味性。
总结,AS3与JS的通信是构建混合型Web应用的关键技术之一。开发者需要熟悉ExternalInterface、URLVariables等API,同时注意处理安全性和兼容性问题,才能充分发挥两者结合的优势,提升用户体验。
总结起来,这个主题涵盖了使用AS3的Socket进行客户端和服务端通信的基础知识,包括连接建立、数据传输、事件处理和异常管理。通过分析提供的实例,开发者可以更好地理解和实践这种网络通信方式,为创建功能丰富的...