1.编写自定义事件类(StageEvent.as)
package events
{
import flash.events.EventDispatcher;
import flash.events.Event;
public class StageEvent extends EventDispatcher
{
public static var instance:StageEvent;
public var behavior:String="";
public var source:String="";
public function StageEvent()
{
}
public static function getInstance():StageEvent
{
if(instance==null)
{
instance = new StageEvent();
}
return instance;
}
public function doAction(source:String,behavior:String,type:String,bubbles:Boolean=false,cancleable:Boolean=false):void
{
this.source = source;
this.behavior = behavior;
dispatchEvent(new Event(type,bubbles,cancleable));
}
}
}
2.用法:
在时间轴第一帧写入以下代码:
import events.StageEvent;
import Test;
var stageEvent:StageEvent;
stageEvent = StageEvent.getInstance();
btn.addEventListener(MouseEvent.CLICK,onMouseEventClickHandler);
new Test();
function onMouseEventClickHandler(evt:MouseEvent):void
{
stageEvent.doAction(Test.CLICK,"click",Test.EVENT_TYPE); //鼠标点击按钮,派发事件给Test类,由Test类执 //行相应操作
}
3.Test类,接受事件(Test.as)
package
{
import flash.events.Event;
import events.StageEvent;
public class Test
{
public static var EVENT_SOURCE = "event_source";
public static var EVENT_TYPE = "event_type";
public static var CLICK = "click";
public static var OPEN = "open";
var stageEvent:StageEvent;
public function Test()
{
stageEvent = StageEvent.getInstance();
stageEvent.addEventListener(EVENT_TYPE,onEventHandler);
}
function onEventHandler(evt:Event):void
{
switch(evt.currentTarget.source)
{
case CLICK:
trace("click");
break;
case OPEN:
trace("open");
break;
}
}
}
}
分享到:
相关推荐
`LRC类.txt`和`解析LRC文件的类及示例源代码.txt`可能包含了自定义的AS3类,用于读取和解析LRC文件,以便在Flash内容中同步显示歌词。这涉及字符串处理、正则表达式和时间戳的处理。 2. **本地文件操作**: `本地...
3. 在控件内部,当需要触发事件时,检查事件是否已订阅,然后调用事件处理程序。 4. 在主窗体或其他订阅控件事件的地方,编写事件处理代码。 这样的做法提高了代码的模块化,使得自定义控件的功能更加灵活,易于...
AS3.0游戏18例源码包是一个针对初学者设计的资源集合,它涵盖了18款基于ActionScript 3.0(AS3.0)编程语言开发的简单小游戏。这个压缩包对于想要学习或提升AS3.0编程技能的人来说极具价值,因为它提供了可以直接...
以创建一个名为`ColorHatch`的自定义控件为例,详细介绍如何编辑控件。 1. **命名控件**:在解决方案资源管理器中,将默认生成的`UserControl1`重命名为`ColorHatch`。 2. **布局设计**:打开`ColorHatch`设计器,...
以压缩包中的`pureMVC_Simple`为例,PureMVC是一个轻量级的框架,它并不直接涉及Flex4的皮肤机制,但我们可以将其与Flex4的自定义组件皮肤结合起来,创建一个具有PureMVC风格的用户界面。例如,我们可以通过自定义...
4. **Flash组件**:AS3+XML相册通常包含自定义的Flash组件,如图片网格或列表,用于展示和导航图片。`flashmo_180_photo_grid.fla`可能是一个包含这些组件的Flash源文件,而`.swf`文件是编译后的可执行Flash内容。 ...
在本例中,`MyIconButton`就是这样一个自定义组件。 3. **导入语句**: 在QML文件中,我们需要导入必要的模块,例如`QtQuick.Controls`,以便使用现有的按钮样式和行为。导入语句可能如下: ```qml import Qt...
这个示例是Flash开发中的一个重要练习,它涉及到AS3的基础知识、对象交互、事件处理以及图形绘制等多个方面。让我们逐一解析这些知识点。 首先,AS3是Adobe Flex和Flash Professional等工具的主要编程语言,用于...
Const rate3 As Double = 0.20 ' 20%税率 Dim tax As Double If salary tax = 0 ElseIf salary tax = (salary - 800) * rate1 ElseIf salary tax = 700 * rate1 + (salary - 1500) * rate2 Else tax ...
3. **图片加载**: AS3.0中的`Loader`类用于加载图像和其他媒体资源。开发者可以通过创建`Loader`对象,设置其`load()`方法来加载XML文件中指定的图片URL,然后将加载完成的图片显示在舞台上。 4. **事件驱动编程**:...
if let selectedImage = info[.originalImage] as? UIImage { // 这里获取到用户选择的图片 performCrop(image: selectedImage) } dismiss(animated: true, completion: nil) } func ...
本教程将深入探讨如何使用ActionScript 3(AS3)编写Flex皮肤,并以重写List组件为例进行讲解。 首先,理解Flex皮肤的基本概念是至关重要的。Flex皮肤由MXML或AS3编写,通常包含形状、图像、文本等元素,这些元素...
3. **事件监听**:监听加载进度事件,如`ProgressEvent.PROGRESS`和`Event.COMPLETE`,以便更新进度条的状态。 4. **Flex Component Life Cycle**:了解Flex组件的生命周期,知道何时在哪个阶段插入自定义预加载器...
在本例中,"经典雪花效果"是一个使用AS 3.0实现的视觉特效,它模拟了冬季雪景中的飘落雪花,为观众带来一种身临其境的感觉。 在AS 3.0中,雪花效果通常涉及以下几个关键知识点: 1. **时间轴控制**:AS 3.0允许...
总结一下,本例展示了如何在ROS中创建一个自定义的`srv`服务,用于传递字符串类型的状态标志。这涉及到`.srv`文件的编写、服务服务器和客户端的实现,以及使用`std_srvs`包中的基本`Trigger`服务类型作为参考。通过...
《深入探索:Flash AS3.0游戏开发——以“太空战机36-赵来琴”为例》 在数字媒体和互动娱乐领域,Flash AS3.0作为一种强大的编程语言,为游戏开发者提供了丰富的工具和功能,使得游戏开发变得更加高效且具有表现力...
在PostgreSQL数据库中,视图是一种非常强大的工具,它允许用户创建自定义的查询结果集,这些结果集可以像实际的表一样进行处理和查询。视图本质上是预定义的SQL查询,存储在数据库中,当需要时可以方便地重用,提高...
本教程将深入探讨如何自定义`UITableView`及其单元格(`UITableViewCell`),并以`TestTableCell`为例进行实战演示。 首先,自定义`UITableView`的核心在于自定义`UITableViewCell`。创建一个自定义单元格类,继承...
在本例中,Adapter会是关键,因为我们需要将联系人信息(如姓名、电话号码等)加载到ListView中。 1. **创建自定义Adapter**:首先,你需要创建一个继承自BaseAdapter的自定义Adapter。这个Adapter需要重写以下方法...