as3课件首页代码
as3教程_flash_ActionScrip_3

ActionScript 3教程系列【黑羽】ActionScript 3.0系列教程(1):与Flash9先来一次亲密接触!如蒙转载,请留下我的Blog链接:,thx)Flash Professional 9 ActionScript 3.0 Preview版本今天发布了,意味着从此我们从此不仅仅只能使用Flex 2来使用AS3.0,更可以使用我们一直很熟悉的Flash IDE来进行AS3.0开发了。
与Flex 2不同,Flash 9 alpha(即上面的Flash Professional 9 ActionScript 3.0 Preview )允许我们创建基于时间轴的ActionScript 3.0的Fla文档,而不是基于State的MXML文档。
在Flash 9 alpha里,我们和以前一样可以在舞台上直接手绘矢量图,创建元件,添加动画,等等。
我黑羽是急性子,先跳开一些特色的介绍,单刀直入,马上来个实例。
边讲解边说说Flash 9的特点。
点击看大图,清楚点。
为了照顾新手xdjm们,看图说话一把。
老鸟略过勿看,省得嫌我罗嗦。
呵呵。
新建一个fla,随便画一个方块什么的,双击选中按F8转换成MovieClip。
在属性面板中命名为kingda_mc。
和以前一模一样。
再新建一层,命名为actions,这是个好习惯,要保持。
选中第一帧,按F9打开动作面板,写入如下代码。
Control+Enter,在测试窗口中,双击那个方块,就会有trace信息显示出来。
//【黑羽】ActionScript 3.0系列教程(1)//kingda_mc.doubleClickEnabled = true;kingda_mc.addEventListener(MouseEvent.DOUBLE_CLICK, clickHandler);function clickHandler(event:MouseEvent):void {trace("哈哈,你双击我了");}//直接支持双击了,兄弟们,爽不爽^_^稍作解释,这儿有几个和AS2.0不同的地方了。
AS3前端代码及编程规范

AS3前端代码及编程规范页游科技版权所有不得复制文档历史关键词:代码编程规范目录1.代码规范 (4)1.1.代码文件说明 (4)1.2.命名及代码书写规范 (4)1.3.函数体规范 (5)1.4.注释规范 (6)2.编程规范 (8)2.1.编码原则 (8)2.2.编码约定 (8)2.3.性能优化 (9)2.4.模块开发编码原则 (9)1.代码规范1.1. 代码文件说明任何一个代码的[.as]文件长度原则上不超过1000行。
由于代码长度的限制,因此很多的类需要拆分。
拆分时,必须按照功能进行拆分。
即同一个功能的操作可以独立到一个类中完成。
1.2. 命名及代码书写规范在无歧义的前提下,命名力求简洁代码统一按照驼峰式命名规则编写,下面是详细说明。
1.类的命名按照大驼峰式命名法,名字中每个单词的首字母大写,名字长度不超过3个英文单词。
特殊情况下也不可以超过5个单词,即控制名字的长度。
例如:ResourceManager2.枚举类型[常量]定义时需要用E开头,名称中的单词必须全部使用大写,并且每个单词之间用下划线隔离。
在具体枚举数据定义时,首先需要包括数据类型前缀,然后跟具体的常量名;所有的单词必须大写,且每个单词间使用下划线分开。
比如COLOR_RED。
AS中用class来描述枚举。
/*** 颜色常量* @author txiejun* @contact txiejun@* @created Oct 19, 2012 12:01:31 PM*/public class E_COLOR{public static constCOLOR_RED:uint = 0xff0000; //红色public static constCOLOR_PURPLE:uint = 0xB726B7; //紫色public static constCOLOR_GREEN:uint = 0x00ff00; //绿色public static constCOLOR_BLUE:uint = 0x0000ff; //蓝色}3.变量命名按照小驼峰式命名法,名字中第一个单词全部小写,从第二个单词开始首字母大写。
AS3高效率代码编写总结

使用对象池:在游戏初始化时,把所有需要的对象存放到一个数组中。当需要删除和重建对象是,只需要声明一个对象引用数组中的这个对象即可。这比重新new一个对象出来要快多了。
位运算有时候会更快:位运算的计算方法和CPU的处理数据本质上是一致的,跟CPU讲它的“母语”,它“理解”起来,做起来自然就更快了!
如果你需要设置一个空数组,有一个方便的办法去选择,就是通过设置它的length属性为0
或者你会认为这么做是不错的选择,原因是它能节省内存,但是事实上这样做的执行速度不如直接new array的效率高
当然,如果你需要在一次循环中清除多于510个数组为空时,用length设置为0的时候会更好
Var declarations on multiple lines vs. Var declarations on a single line
将变量声明在一行中,要比声明多行更好,效率更高
i.e.
var a:int=0, b:int=0, c:int=0;
vs.
var a:int=0;
var b:int=0;
var c:int=0;
Using Xor to swap variables
如果你想去交换变量,但是又不想创建新的变量的时候,可以用xor
Array & Object constructing
构造数组和对象的时候,new Array() and new Object()要比 [] and {}慢3倍的时间
Index Number type for Arrays
数组的数字索引类型
ist[int(0)] 比list[0]要快
尽量最小化函数的参数个数
AS3常用代码

flash常用代码!(精)flash, 代码flash AS3的全屏代码:this.stage.displayState=StageDisplayState.FULL_SCREEN; 退出代码:tc_btn.addEventListener(MouseEvent.CLICK, tuichu);//给overbtn这个按钮添加鼠标点击执行tuichu函数的侦听function tuichu(event:MouseEvent):void {fscommand("quit");//鼠标点击执行tuichu时swf退出}时间轴上停止代码:this.stop()按钮代码:红色代码为自定义函数,同一按钮中相同,不同按钮必须不同以区别开来。
播放和停止bf_btn.addEventListener(MouseEvent.CLICK,work1);function work1(event:MouseEvent){this.play()}tz_btn.addEventListener(MouseEvent.CLICK,work2);function work2(event:MouseEvent){this.stop()}跳转代码shou_btn.addEventListener(MouseEvent.CLICK,work1);function work1(event:MouseEvent){gotoAndStop("首页");}tz_btn.addEventListener(MouseEvent.CLICK,work2);function work2(event:MouseEvent){gotoAndPlay(1);}逐帧代码:xy_btn.addEventListener(MouseEvent.CLICK,work1);function work1(event:MouseEvent){this.nextFrame()}Sy_btn.addEventListener(MouseEvent.CLICK,work2);function work2(event:MouseEvent){this.prevFrame()}按钮控制影片剪辑tz_btn.addEventListener(MouseEvent.CLICK,work1);function work1(event:MouseEvent){this.ai_mc.gotoAndPlay(3)}按钮暂停代码;(1)控制主场景暂停的方法是,在舞台上建立个播放暂停按钮,起名pause_btn。
Flash新手入门教程:AS3代码第一课——下雪效果

Flash新手入门教程:AS3代码第一课——下雪效果本系列Flash教程由中国教程网Flash互助课堂专为Flash新手制作,更多教程和练习请点击这里,在这里有系列的教程、练习,并有老师对练习进行点评与指导,欢迎朋友们的光临!与AS2.0相比较,AS3.0有了很大的变化,它改变了我们以往的编程习惯。
今天我们通过一个非常简单的入门练习-下雪效果,来认识一下AS3.0,主要了解一下AS3.0与AS2.0的区别。
首先,我们来介绍一下AS3的一些基础知识。
在AS3中怎样把库中的元件加载舞台我们知道在AS2中我们可以通过attachMovie将库中的mc加载到舞台上。
在使用这个命令前我们必须要做的事情是在库中右击元件,打开连接面板,然后在标识符框中为元件取上一个连接名,这样才能用attachMovie()来加载它。
现在我们在AS3中来做一下,在库中右击元件,打开连接面板,这时你会叫道:“为什么我的标识符框是灰色的,不能用。
”不是你的是灰色的,而是在AS3中都是灰色的,因为在AS3中是不能用attachMovie()来加载元件的。
AS3据说是完全面向对象编程的语言了,这就必须要了解类,对象等概念。
类就是一类东西的一个名称,比如动物类就包括了所有动物,动物类下面的所有人就是人类了。
又如所有电器可叫电器类,电器类下面又可有电视机类等。
对象是某类的一个具体的实例。
比如你就是人类中的一个具体的人,你就是人类的一个对象。
看到这里你说:“我晕”,我说:“我更晕”。
介绍类,对象这些概念看的人不容易看懂,说的人更不容易说清。
在AS3中要加载一个显式对象(我们在舞台上看得见的东西),必须要载入一个类,然后要声明这个类的一个实例,再用new关键字创建它,最后用addChild()将它加载到舞台。
我们将舞台着是一个展台,将库看着是一个仓库,现在仓库中有一台电视机要放到展台上,该怎样做呢?首先需要一个电视机类,然后需要声明一个实例:var 电视机甲(实例名):电视机(类名)= new 电视机();addChild(电视机甲);现在我们回到flash中来看看,现在库中有一个元件,我们要将它加载到舞台上,应该这样做:在库中右击该元件,打开连接面板,我们会看到一个叫类的文本框,在这里给这个类取一个名字,比如myl.确定。
As3教程

As3教程第一部分:ActionScript. 3 语言基础┃┗━━━━━━━━━━━━━━━━━━┛================================================第2章ActionScript. 3 语言基本元素================================================2.1.2 数据类型概述简单数据类型Boolean(布尔)、int(有符整型)、Number(浮点)、String(字符串)、uint(无符整型)复杂数据类型Array(数组)、Date(日期)、Error(异常)、Function(函数)、RegExp(正则表达)、XML、XMLList2.2.1 变量声明var 变量:类型var 变量:类型= 值;2.3 声明常量const 常量名:类型= 值;2.4 基础数据类型1.布尔值Boolean(初始化为false)2.数字:int uint Numberint 有符号32位整数-2(31次方) - +(2(31次方)-1)uint 无符号32位整数0 - 2(32次方)-1Number 64位浮点能用整数优先用int uint,有正负之分,用int。
只处理整数,用uint,有小数,用Number。
2.4.6 Object及关联数组var 对象:Object = new Object()var 对象:Object = {};2.4.8Null、NaN、undefined及各自应用对象:变量的默认值数据类型默认值int 0uint 0Number NaNString nullBoolean falseArray nullObject null没声明undefined* undefined注意:必须声明初值,否则容易出错。
2.5 运算符,表达式及运用2.5.11 typeof、is、astypeof,用字符串返回对象类型,格式:typeof(对象)is ,判断操作符左边的对象是否属于右边的类型,返回值为Boolean,格式:对象is 数据类型as ,判断操作符左边的对象是否属于右边的类型,属于则返回数据,不属于则返回null,格式:对象as 数据类型typeof对象类型与返回结果对照表对象类型返回结果Array objectBoolean booleanFunction functionint numberNumber numberObject objectString stringuint numberXML xmlXMLList xml2.5.12 inin ,判断操作符左边的对象是否作为右边对象中的键(Key)或索引,返回值为Boolean比如:var a:Array = ["q","w","e"];trace(2 in a); //数组中有索引2,返回truetrace(3 in a); //数组中没有索引3,返回false2.5.13 delete关键字AS2.0中可以删除任意任意对象的delete关键字,在AS3.0中只能用于删除对象的动态实例属性,非动态属性不能删除。
as3代码规范

as3代码规范.txt珍惜生活——上帝还让你活着,就肯定有他的安排。
雷锋做了好事不留名,但是每一件事情都记到日记里面。
1.类的首字母大写2.左大括号要写在组合语句开始的末尾3.变量不要用模糊的名字4.包的名字应全部为小写5.异常类的名字须以Error开头6.接口的默认实现类以Defauit开头(构造函数)7.接口的名字应以“I”开头8.私有类的变量名应以“_”为前缀,小写字母开头的大小写混排例如:pribate var _currentYear:inr;9.属性名应以小写字母开头,大小写字母混排10.参数名增加一个后缀“_”,以区分变量和属性11.常量的名字必须全部为大写字母,同类别的常量,要有相同的前缀12.命名一组对象时,应使用复数形式例如:var books(s是复数的意思)13.嵌套循环中,用有丰富意义的名字来命名循环控制变量14.对一个已知类型的变量,前缀以类型开头15.函数的命名以小写字母开头,大小写混合16.用动词命名函数17.单例类应该通过一个名为getInstance()的静态函数返回唯一值18.事件处理函数可以命名为onEventType例如:function onClick(event:MouseClickEvent):void19.所有文本文件的字符编码必须为UTF-820.一个AS源文件不能超过2000行,每行最多128个字符21.缩进应使用TAB空格,缩进可以表明嵌套层次22.包和导入,只导入需要的实体,避免使用通配符23.变量的声明要在代码快的开头24.循环/条件语句,必须以大括号结束25.浮点数应该有小数点26.空格的通用规则:操作符,冒号的前后+逗号,分号和AS的保留字之后+27.逻辑单元应该以空行分割28.利用自动注释代码来减少注释29.保持代码和文档同步,同步更新30.注释所有的实体-包,类型,以及所有的成员31.当调用asdoc工具时你才能注释一个包,两种方式:通过包选项或 XML配置中的<package>标记32.注释AS类/接口33.注释私有变量34.注释属性,一个公共变量就是属性:说明属性并列出默认值一对getter/setter函数也是属性:注释一个的同时使用@private隐藏另外一个35.注释函数,注释的标记按照以下顺序:@param@return@throws@see36.使用@inheritDoc从被重写的函数继承注释37.注释事件,对一个传播事件的类来说,如果有事件类型,则传递这个常量对一个事件类来说,则传递该类型的字面名称38.使用@private排除一个一个类/接口/属性/函数从ASDoc输出Exclude a默认情况下,ASDoc会收集所有的公共类,接口,函数和属性,若出于保密原因可以使用@private标记39.使用行尾注释来解释局部变量40.使用单行注释来详细解释41.无务必开启严格模式42.慎用ArrayCollection的排序/筛选,因为这个常导致错误,强烈建议不要使用,如使用,一定注释清楚43.在不需要继续使用时,务必解除监听函数对事件的监听44.使用mx.logging来代替底层的logging实现mx.logging包提供了简单而又高层次的接口45.为每个类获得一个ILogger实例为每个类获得一个ILogger实例,不要为所有类的日志使用一个单独的log实例,因为这样会降低可配置性和可控制性46.选择恰当的日志层次:fatal:导致程序提早终止的重大错误error:运行时错误或不可预料的状况warn :不正确的使用接口,不符合规则/未预料到的动作info :运行时的时间debug:系统运行过程中的详细信息47.使用条件日志来减少系统开销(日志会增加运行时开销)48.使用FlexUnit进行测试,测试框架49.将测试代码放入单独的目录中50.测试类的包可以命名为:<产品类的包>.test测试类可以命名为:Test<产品类名>测试方法命名为:test<首字母大写的作品方法名>_<情节>例如:public function testConnect_withSsl():void{……}。
as3 元件顺序排列代码

如果你想要在 Adobe Animate(前身为Flash Professional)中按顺序排列多个元件,你可以使用 ActionScript 3.0。
ActionScript 是 Adobe Animate 的编程语言,用于创建和控制动画和交互。
以下是一个简单的示例,展示如何使用ActionScript 3.0 按照从左到右的顺序排列一组元件:
1.首先,在 Animate 中创建一个新的 Flash 文档。
2.在舞台上放置一些元件(如影片剪辑、图形等)。
3.在时间轴中选择一个帧,然后打开动作面板(通常按 F9 或从顶部菜单选择
"窗口" -> "动作")。
4.在动作面板中输入以下 ActionScript 代码:
var arr:Array = [mc1, mc2, mc3]; // 将mc1、mc2和mc3替换为你的元件实例名称
for (var i:int = 0; i < arr.length - 1; i++) {
arr[i].x = i * 100; // 设置元件的 x 位置,使其按顺序排列
}
5.保存并预览你的 Flash 文档,你会看到元件按照你设定的顺序排列。
在这个例子中,我们首先创建一个数组,包含我们想要排列的元件实例。
然后我们用一个for 循环来遍历这个数组,设置每个元件的x 位置,使其从左到右排列。
请注意,这只是一个简单的示例,你可以根据需要进行调整和修改。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
as3课件首页代码:1、全屏与帧速设置stage.displayState="fullScreen";stage.frameRate=24;2、右键设置ContextMenu3、新增画线工具,在指定范围内画线graphics.moveTo(),graphics.lineTo()4、按钮文字说明跟踪鼠标缓冲移动Tween5、新增倒计时Timer6、新增背景音乐音量控制soundTransform[效果]index0.swf[代码]//舞台设置stage.displayState="fullScreen";stage.frameRate=24;//右键设置var myContextMenu:ContextMenu = new ContextMenu();removeDefaultItems();addCustomMenuItems();this.contextMenu = myContextMenu;function removeDefaultItems():void {myContextMenu.hideBuiltInItems();var defaultItems:ContextMenuBuiltInItems = myContextMenu.builtInItems;}function addCustomMenuItems():void {var zuozhe:ContextMenuItem = new ContextMenuItem("制作:刘常"); myContextMenu.customItems.push(zuozhe);var wangzhi:ContextMenuItem = new ContextMenuItem("琴者工作室",true);myContextMenu.customItems.push(wangzhi);var emaile:ContextMenuItem = new ContextMenuItem("邮箱liu888chang@",true); myContextMenu.customItems.push(emaile);var dizhi:ContextMenuItem = new ContextMenuItem("湖北省荆州市公安县埠河中学",true); myContextMenu.customItems.push(dizhi);var _close:ContextMenuItem = new ContextMenuItem("关闭",true);myContextMenu.customItems.push(_close);wangzhi.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, wz);_close.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, gb);}function wz(event:ContextMenuEvent):void {var url:URLRequest=new URLRequest("");navigateToURL(url,"_blank");}function gb(event:ContextMenuEvent):void {fscommand("quit");}//画线var fw:Sprite = new Sprite( );var xian:Sprite = new Sprite( );addChild(fw);fw.addChild(xian);fw.graphics.beginFill(0x000000,0);fw.graphics.drawRect(0, 30, 800, 540);fw.graphics.endFill();fw.addEventListener(MouseEvent.MOUSE_DOWN, ax);function ax(event:MouseEvent):void {xian.graphics.lineStyle(4,0xFF0000);xian.graphics.moveTo(mouseX, mouseY);fw.addEventListener(MouseEvent.MOUSE_MOVE, yd);}stage.addEventListener(MouseEvent.MOUSE_UP, sk);function sk(event:MouseEvent):void {fw.removeEventListener(MouseEvent.MOUSE_MOVE, yd);}function yd(event:MouseEvent):void {xian.graphics.lineTo(mouseX, mouseY);}//按钮文字说明var btnname:Array=["最前","最后","后退","播放","音乐","音乐","清除","帮助","教案","退出"]; for (var k:uint=1; k<btnname.length+1; k++) {this["_btn" + k].addEventListener(MouseEvent.MOUSE_MOVE,btnjg);this["_btn" + k].addEventListener(MouseEvent.MOUSE_OUT,btnyc);btn_txt.y=this["_btn" + k].y-18;btn_txt.visible=false;}import fl.transitions.*;import fl.transitions.easing.*;var myTween:Tween;function btnjg(event:MouseEvent):void {var btn_xh:uint=.split("_btn").join("");btn_txt.visible=true;myTween=new Tween(btn_txt,"x", Back.easeOut,btn_txt.x,event.currentTarget.x,0.5,true); btn_txt.txt.text=btnname[btn_xh-1];}function btnyc(event:MouseEvent):void {btn_txt.visible=false;myTween.stop();}/**************按钮控制****************/var js:Timer=new Timer(1000,2700);var swf:Array=["1.swf","2.swf","3.swf","4.swf","5.swf"];var jishu:uint=0;var url:URLRequest=new URLRequest(swf[jishu]);var ldr:Loader=new Loader();ldr.load(url);ldr.mask = zezao;addChild(ldr);js_mc.js_txt.text="45:00";//背景音乐控制var _sound:Sound=new Sound();var surl:URLRequest=new URLRequest("bjsound.mp3"); var scz:SoundChannel=new SoundChannel();_sound.load(surl);scz=_sound.play();var yl:Number=0.5;var syl:SoundTransform. = scz.soundTransform;syl.volume =yl;scz.soundTransform. =syl;_btn1.enabled=_btn3.enabled=false;stage.addEventListener(Event.ENTER_FRAME,gx); function gx(event:Event):void {if (jishu==0) {_btn5.visible=false;_btn6.visible=true;_btn1.enabled=_btn3.enabled=false;_btn2.enabled=_btn4.enabled=true;_btn2.addEventListener(MouseEvent.CLICK,dj2);_btn1.removeEventListener(MouseEvent.CLICK,dj1); _btn3.removeEventListener(MouseEvent.CLICK,dj3); }if (jishu==swf.length-1) {_btn5.visible=false;_btn6.visible=true;_btn1.enabled=_btn3.enabled=true;_btn2.enabled=_btn4.enabled=false;_btn1.addEventListener(MouseEvent.CLICK,dj1);_btn3.addEventListener(MouseEvent.CLICK,dj3);_btn2.removeEventListener(MouseEvent.CLICK,dj2); _btn4.removeEventListener(MouseEvent.CLICK,dj4); }if (jishu<(swf.length-1)&&jishu>0) {_btn5.visible=true;_btn6.visible=false;_btn1.enabled=_btn3.enabled=true;_btn2.enabled=_btn4.enabled=true;_btn1.addEventListener(MouseEvent.CLICK,dj1);_btn3.addEventListener(MouseEvent.CLICK,dj3);_btn2.addEventListener(MouseEvent.CLICK,dj2);scz.stop();}yl=(ylhk_mc.x-390)/100;ylt_mc.scaleX=yl;syl.volume =yl;scz.soundTransform. =syl;}//结尾function dj2(event:MouseEvent):void { xian.graphics.clear();jishu=swf.length-1;url=new URLRequest(swf[jishu]); ldr.load(url);scz.stop();scz=_sound.play();}//向前function dj4(event:MouseEvent):void { xian.graphics.clear();jishu++;url=new URLRequest(swf[jishu]);ldr.load(url);scz.stop();if (jishu==swf.length-1) {scz=_sound.play();}}//开始function dj1(event:MouseEvent):void { xian.graphics.clear();js_mc.js_txt.text="45:00";jishu=0;url=new URLRequest(swf[jishu]); ldr.load(url);scz.stop();scz=_sound.play();js.stop();js=new Timer(1000,2700);}//后退function dj3(event:MouseEvent):void { xian.graphics.clear();jishu--;url=new URLRequest(swf[jishu]);ldr.load(url);scz.stop();if (jishu==0) {scz=_sound.play();js.stop();js=new Timer(1000,2700);js_mc.js_txt.text="45:00";}}//清除线条_btn7.addEventListener(MouseEvent.CLICK,dj7); function dj7(event:MouseEvent):void {xian.graphics.clear();}//背景音乐控制及倒计时var xkls:Sound=new Sound();var xklsurl:URLRequest=new URLRequest("xkls.mp3"); var xklscz:SoundChannel=new SoundChannel();xkls.load(xklsurl);xklscz.stop();_btn6.addEventListener(MouseEvent.CLICK,dj6);function dj6(event:MouseEvent):void {scz.stop();//倒计时js.stop();js=new Timer(1000,2700);js.addEventListener(TimerEvent.TIMER,djs);js.addEventListener(TimerEvent.TIMER_COMPLETE,jswc); js.start();function djs(event:TimerEvent):void {var jss:uint=2700-event.target.currentCount;var fen:String=""+int(jss/60);var miao:String=""+int(jss%60);if (fen.length<2) {fen="0"+fen;}if (miao.length<2) {miao="0"+miao;}js_mc.js_txt.text=fen+":"+miao;}function jswc(event:TimerEvent):void {js.stop();js_mc.js_txt.text="END";xklscz=xkls.play();}}_btn5.addEventListener(MouseEvent.CLICK,dj5);function dj5(event:MouseEvent):void {js_mc.js_txt.text="45:00";scz.stop();scz=_sound.play();js.stop();js=new Timer(1000,2700);}_btn10.addEventListener(MouseEvent.CLICK,tc);function tc(event:MouseEvent):void {fscommand("quit");}//音量滑块拖动控制var tdfw:Rectangle=new Rectangle(390,586,100,0);//拖动范围ylhk_mc.addEventListener(MouseEvent.MOUSE_DOWN,ylhkax); ylhk_mc.addEventListener(MouseEvent.MOUSE_UP,ylhksk); ylhk_mc.buttonMode=true;stage.addEventListener(MouseEvent.MOUSE_UP,ylhksk);function ylhkax(event:MouseEvent):void { ylhk_mc.startDrag(false,tdfw);}function ylhksk(event:MouseEvent):void { ylhk_mc.stopDrag();}。