在刚开始学As3时,如果不知道按钮的事件如onPress的话,实在是件很没有头绪的事情。
在 As3.0中,所有的时间都已经被Event统一管理了.相对As2.0来说,按钮事件是在As3中变动最大的事件. 在As3.0中例如onPress等以前的按钮事件写法已经基本退出了历史的舞台.取而代之的是统一的管理和 使用(鼓掌....)
As3.0中,主要的按钮元素仍然是MC(flash.display.MovieClip)和Button (flash.display.SimpleButton),值得一提的是,MovieClip类继承自Sprite,而Simplebutton直接继承 自InteractiveObject.可以说,Simplebutton类是少有超脱于Sprite类控制之外的显示对象同学,恩, 我知道有有颗追逐自由的心......区别等下面说道了再继续说.
介绍了显示元素,那么改介绍事件对象了,他就是继承自Event的MouseEvent (flash.events.MouseEvent)了,其实践列表如下:
CLICK
DOUBLE_CLICK
MOUSE_DOWN
MOUSE_MOVE
MOUSE_OUT
MOUSE_OVER
MOUSE_UP
MOUSE_WHEEL
ROLL_OUT
ROLL_OVER
中里面的DOUBLE_CLICK就是江湖上传闻已久的双击事件了。不过我 觉得DOUBLE_CLICK目前还是棵菜,As3中加入了DOUBLE_CLICK却没有什么控制DOUBLE_CLICK与CLICK的好 办法,让我觉得有些草率.
话不多说了,我介绍下我写的一个实例:
分别有如下文 件:click_test.fla,main.as,mybtn.as,mymc.as.
[1b]click_test.fla[/1b]
定义Document Class为main.as,在库中创建一个按钮 (test_btn)和一个MC(test_mc),并分别命名为test_btn类和test_mc类,基类分别为mybtn.as和 mymc.as.
[1b]mybtn.as[/1b]
/*@
Author:frank
Site:www.2solo.cn
Date:2008.01.13
Info:场景上的实例类,继承SimpleButton
*/
package {
import flash.display.SimpleButton;
public class mybtn extends SimpleButton {
public function mybtn() {
this.doubleClickEnabled=true;
}
}
}[1b]mymc.as[/1b]
/*@
Author:frank
Site:www.2solo.cn
Date:2008.01.13
Info:场景上的实例类,继承MovieClip
*/
package {
import flash.display.MovieClip;
public class mymc extends MovieClip {
public function mymc() {
this.stop();
this.doubleClickEnabled=true;
this.buttonMode=true;
}
}
}需要说的是,MovieClip和SimpleButton两者都doubleClickEnabled,而MC中的是来自 Sprite,SimpleButton中的则直接来自InteractiveObject,瞧这关系,啧啧.当然,用起来是一样的, Sprite是继承自InteractiveObject的.
[1b]main.as[/1b]
/*@
Author:frank
Site:www.2solo.cn
Date:2008.01.13
Info:测试MovieClip与SimpleButton的按钮功能
main是场景控制类,
*/
package {
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
public class main extends Sprite {
var clickBtnA=new test_mc;
var clickBtnB=new test_btn;
trace("Install");
public function main() {
addMC();
dispatchLis(clickBtnA);
dispatchLis(clickBtnB);
}
private function addMC() {
addChild(clickBtnA);
addChild(clickBtnB);
clickBtnA.x=20;
clickBtnA.y=20;
clickBtnB.x=20;
clickBtnB.y=100;
}
protected function dispatchLis(target):void {
target.addEventListener( MouseEvent.CLICK, btnClick);
target.addEventListener( MouseEvent.DOUBLE_CLICK ,btnDoubleClick);
target.addEventListener( MouseEvent.MOUSE_DOWN ,btnMd);
target.addEventListener( MouseEvent.MOUSE_OVER ,btnMo);
target.addEventListener( MouseEvent.MOUSE_UP ,btnMu);
target.addEventListener( MouseEvent.ROLL_OVER ,btnRover);
target.addEventListener( MouseEvent.ROLL_OUT ,btnRout);
}
protected function btnClick( evt:MouseEvent):void {
trace( "Click"+evt.currentTarget);
}
protected function btnDoubleClick( evt:MouseEvent):void {
trace( "DoubleClick"+evt.currentTarget);
}
protected function btnMd( evt:MouseEvent):void {
trace( "MouseDown"+evt.currentTarget);
}
protected function btnMu( evt:MouseEvent):void {
trace( "MouseUp"+evt.currentTarget);
}
protected function btnMo( evt:MouseEvent):void {
trace( "MouseOver"+evt.currentTarget);
}
protected function btnRover( evt:MouseEvent):void {
trace( "MouseRover"+evt.currentTarget);
}
protected function btnRout( evt:MouseEvent):void {
trace( "MouseRout"+evt.currentTarget);
}
}
}
本文转自:http://www.5uflash.com/flashjiaocheng/Flash-as3-jiaocheng/2004.html
发表评论
-
as3.0游戏开发之打气球系列(一)
2010-04-09 12:48 586好久没有写正经的文章 ... -
【as3】ActionScript 3.0体验试教学视频教程
2010-04-09 12:48 562很不错的视频教程 原文地址: http://blog.sina ... -
as3 使用sound类(翻译)-暂停和继续播放声音
2010-04-09 12:48 517[1b]问题十[/1b] 如何暂停声音,如何从暂停的地 ... -
利用AS3类直接读取Rar文件中的swf文件
2010-04-09 12:47 1209名称:RarExtractor(Rar文件解压器) 作者:fl ... -
AS3.0传递引用时应当注意的问题
2010-04-09 08:27 575整和同事写的地图编辑器代码的时候发现有个引用明明改变了,但是调 ... -
AS3.0传递引用时应当注意的问题
2010-04-09 08:27 585整和同事写的地图编辑器代码的时候发现有个引用明明改变了,但是调 ... -
AS3.0 Socket读取原理分析
2010-04-09 08:27 750AS3.0中使用Socket接收数据我们必须使用Progres ... -
AS3.0 Socket读取原理分析
2010-04-09 08:27 861AS3.0中使用Socket接收数据我们必须使用Progres ... -
开源的as3 3D引擎jiglibFlash
2010-04-09 08:26 1071jiglibFlash:http://code.google. ... -
教你做个性FLASH导航条
2010-04-08 07:52 942首先下载软件Macromedia Flash 8简体中文正式版 ... -
菜鸟制作精美Flash导航菜单
2010-04-08 07:52 1350为方便网友浏览,导航 ... -
菜鸟制作精美Flash导航菜单
2010-04-08 07:51 889为方便网友浏览,导航 ... -
Flash动态缓冲图片导航制作详解
2010-04-08 07:51 739缓冲公式在制作特效中非常有用,著名的三星导航菜单就用到了此公式 ... -
Flash动态缓冲图片导航制作详解
2010-04-08 07:51 632缓冲公式在制作特效中非常有用,著名的三星导航菜单就用到了此公式 ... -
ActionScript 2.0入门系列(继承与接口)
2010-04-07 10:21 641下载地址: [url=/Files/BeyondPic/200 ... -
AS代码2.0:面向对象模型
2010-04-07 10:21 531自从几年前在Flash中引入动作脚本语言(Action Scr ... -
AS代码2.0:面向对象模型
2010-04-07 10:21 667自从几年前在Flash中引入动作脚本语言(Action Scr ... -
AS代码2.0:脚本编辑和调试
2010-04-07 10:20 652Flash MX Professional 2004的动作脚本 ... -
AS代码2.0:脚本编辑和调试
2010-04-07 10:20 554Flash MX Professional 2004的动作脚本 ... -
as制作可拖动单元格的菜单
2010-04-07 07:29 634做了一个可拖动单元格的List,算是对List的一个扩展。看效 ...
相关推荐
AS3 用按钮按钮监听事件 点击按钮获取随机数 自己写的,请多多指正!
调用简单,纯代码实现按钮 var button01: SimpleButton = org.button.button.newButton({title: "按钮"});
根据图片绘制按钮的可选区域
flash 按钮 AS2.0 播放 倒放 回放 移上去,播放,离开,倒着播放。
按钮 按钮单击事件 */ /** 思路: 不进行缩放 1.初始化,控制面板背景,表示标题的动态文本,控制的按钮,生成提示当前图片的按钮。 2.读取XML,把里面的图片信息(图片地址和图片标题)获取进来,生成按钮 3.自动...
flash as3 导入外部图片(数量不定),循环播放(每6秒播放一张)并自动生成按钮进行选看控制
Flash as3 动态菜单
ButtonEvent.as ---------------------- button相关的事件 FLVEvent.as ---------------------- FLV相关的事件 LoadEvent.as ---------------------- load相关的事件 ListEvent.as ---------------------- list...
Flash as4_Samples学习AS3的一些非常经典的例子。
Flash AS教程之二 按钮的AS编写规则
我找了半天都没有找到AS3的 单个图片,复制成多个循环使用,然后,逐个删除。 现在我贡献下写法,希望可以帮助as3的新人。 源代码可以打开直接看,也可以用fb 导入工程看效果。 导入时,请将swc文件载入下,否则...
演示了C#和Flash的相互调用,VS2015和FlashCS3下调试成功,分为AS2.0和AS3.0版的调用 操作方法: 1,Winform传值给Flash:在【传输或接收到的值】文本框中填入任意字符,然后点 【将左框中数值送给Flash】按钮 2,...
Flash as2.0代码大全与Flash制作技巧 2009-08-04 12:46 Flash as2.0代码大全与Flash制作技巧 外部调用swf on (release) { loadMovieNum("service.swf", 1); } 外部调用数据 loadVariablesNum("about.txt", 0); ...
用AS3编写,点击不同的按钮加载不同的外部SWF文件,显示在固定尺寸的舞台上,同一时该只能加载一个外部文件,自动调整被加载文件的尺寸以适应容器大小。昨天上传那个不知道为什么见不到,再次上传并添加了部分容错...
众所周知,在网页中若想实现点击按钮自动复制到剪贴板中可以用以下代码实现: if(window.clipboardData) { window.clipboardData.clearData(); window.clipboardData.setData("text", "这是复制的文字"); } 但...
众所周知,在网页中若想实现点击按钮自动复制到剪贴板中可以用以下代码实现: if(window.clipboardData) { window.clipboardData.clearData(); window.clipboardData.setData("text", "这是复制的文字"); } 但...
在某按钮点击后延时3秒执行我的命令 使用setTimeout完美解决
自定义按钮类,下载后,直接传参数调用就OK
flash as3.0实现简单计时器功能 as3.0类编程实现计时器功能 计时器源代码
import tkinter as tk class App: def __init__(self, root): root.title(打招呼测试) frame = tk.Frame(root) frame.pack() self.hi_there = tk.Button(frame, text=打招呼, fg=blue, command=self.say_hi) ...