Flash,AS3.0教程-代码的位置
- 格式:docx
- 大小:24.66 KB
- 文档页数:15
flashAS 3.0 代码(2011-08-09 00:25:34)转载标签:新漫动画代码asf lash杂谈基本Act ion。
包括:- Go to跳转到指定的帧- P lay播放- S top停止- T oggle High Qual ity在高画质和低画质间切换- St op Al l Sou nds停止所有声音的播放- GetURL跳转至某个超联结-FSCom mand发送FSC omman d命令- Load Movi e装载影片- U nload Movi e卸载影片- T ell T arget告知目标- If Fram e IsLoade d..判断帧是否被完全载入- OnMouse Even t鼠标事件<。
其他Act ions。
包括:- b reak跳出循环-call调用指定帧(一般喊有某个特定函数)- co mment注释- c ontin ue继续循环- de lete删除一个对象(Obj ect)中的变量- d o whi le do whil e循环- d uplic ateMo vieCl ip复制MC- el se否则(与if联用)- el se if否则如果(与if联用)- ev aluat e调用自定义函数(Funct ion)-forf or循环-for .. in依次取得对象(Obj ect)中的各个属性或者某个数组中的所有元素- F SComm and发送FSCo mmand命令- fu nctio n声明自定义函数-getUR L跳转至某个超联结- got o跳转到指定的帧-if如果- ifFr ameLo aded..帧是否完全被载入- incl ude读入外部的A ction Scrip t程序文件(.as)- load Movie装载MC- load Varia bles转载外部文件中的数据,这些外部文件可以是文本文件,或者是由A SP/CG I等脚本返回的文本值- on鼠标事件的触发条件- o nClip Event MC的事件触发程序- play播放- p rint输出到打印机- rem oveMo vieCl ip删除MC- re turn在函数(f uncti on)中返回一个值-set v ariab le设定变量值- s etPro perty设定属性- star tDrag开始拖动- stop停止- s topAl lSoun ds停止所有声音的播放- st opDra g停止拖动- swa pDept hs交换两个MC的深度- te llTar get指定Acti on命令生效的目标-toggl eHigh Quali ty在高画质和低画质间切换-trace跟踪调试- unlo adMov ie卸载MC- va r声明局部变量- w hile当..成立时..- w ith对..对象(Objec t)做..<。
1.全屏播放fscommand("fullscreen",true);2.打开时全屏,在该帧停止fscommand("fullscreen",true);stop();3.跳帧播放(从第几针开始播放后)on (press) {gotoAndPlay(?);}4.点击时开始播放on (press) {play();}5.退出语句如果是FLASH自带的控件on (click){ fscommand("quit",""); }自已做的按钮on (release){ fscommand("quit",""); }6、当鼠标滑过影片剪辑时,停止播放时间轴。
on (rollOver) {_root.stop();}7、当在影片剪辑上按下鼠标时,停止播放影片剪辑。
on (press) {stop();}8、当影片剪辑上松开鼠标时,播放影片剪辑。
on (release) {play();}9、当鼠标滑离影片剪辑时,播放当前时间轴。
on (rollOut) {_root.play();}10、Goto:跳到一个指定的帧(Frame)Scene: 指定SceneFrame:Number,Label,Expression,Next Frame,Previous Frame可以选择Frame 的编号,标号,通过表达式,下一帧,前一帧Expression: 定义表达式Control:Go to and Play,Go to and Stop通过选择这个项目来确定到达指定的帧以后是继续播放还是停止例子:Go to and Play (1)跳到第一帧播放Go to Next Frame跳到下一帧播放Go to and Stop ("intro")跳到标号为intro 的帧播11、Play:播放Stop:停止Toggle High Quality:切换画面的细节程度Stop All Sounds:停止所有声音Get URL:打开指定的网址URL: 网址Windows:_self,_blank,_parent,_top打开网址时使用的目标Variables on’t Send,Send use GET,Send use POST变量的传递方式例子:Get URL ("next.asp", window="_blank", vars=POST)在新窗口中打开next.asp,并且传递参数12、FScommand:调用命令Command: 命令Arguments: 参数For standalone player:fullscreen,allowscale,showmenu,exec,quit 播放器使用的固定命令和参数例子:FS Command ("fullscreen", "true")设置全屏幕播放13、Load/Unload Movie:调入/释放外部的影片Action:Load movie into location,Unload movie fromlocation,Load variables into location: 可以选择是否调入新影片,释放已经调入的影片,调入变量URL:影片的网址Location:Level,Target: 调入的层,或者是某一目标对象的位置Variables on’t Send,Send use GET,Send use POST: 变量的传递方式例子:Load Movie ("test.swf", 1): 把test.swf 调入到第一层Load Movie ("test.swf", "loadit", vars=GET): 把test.swf 调入到loadit 目标对象的位置Unload Movie ("loadit"): 把loadit 目标对象处的影片释放Load Variables ("makeit.asp", 2, vars=GET): 调用makeit.asp 并接收返回的变量14、Tell Target:指定目标对象Target: 目标对象例子:Begin Tell Target ("obj")指定目标对象objEnd Tell Target15、If Frame is Loaded:判断某帧是否调入Scene: 指定场景Frame:Number,Label,Expression: 指定帧,标号或者表达式Expression: 表达式例子:If Frame Is Loaded (Scene 1, "end")End Frame Loaded:判断场景一的标号为end 的帧是否调入16、On MouseEvent鼠标时间响应Event ress,Release,Release Outside,Roll Over,Roll Out,Drag Over,Drag Out,Key Press各种事件:按下,放开,在外面放开,焦点移入,移出,拖过,拖出,按键按下例子:On (Press) 鼠标按下的时候End OnOn (Key: s)键盘上s 按下的时候End On17、If判断条件是否成立Condition: 条件Add Else/Else If clause: 加入Else 再次判断例子:If (a=10)如果a=10 那么……End IfIf (a=10)如果a=10 那么……不然……ElseEnd If18、Loop循环Condition:条件例子:Loop While (a=10)如果a=10 那么循环End Loop19、Call调用函数帧或对象Frame:函数帧例子:Call ("make")调用make 帧程序20、Set Property设置属性Set:Y Positon,X Position,Y Scale,XScale,Alpha,Visibility,Rotation,Name,High quality,Show focus rectangle,Sound buffer time设置y 坐标,x坐标,y 放大倍数,x 放大倍数,透明度,可视否,旋转角度,名称,精细度,焦点矩形框是否显示,声音缓冲时间(默认5秒)Target:目标对象value:值例子:Set Property ("aoe", X Position) = "12"设置目标对象aoe 的x 坐标为12Set Property (Show focus rectangle) = "0"取消焦点框21、Set Variable设置变量Variable:变量value:值例子:Set Variable: "test" = 10设置test=1022、Duplicate/Remove Movie Clip复制对象Action uplicate movie clip,Remove duplicate movie clip可选择是复制还是删除Target:目标对象New name:新目标对象的名字Depth:深度例子:Duplicate Movie Clip ("aoe", "aoe2", 1)复制aoe 一个新的动画,名字叫aoe2Remove Movie Clip ("aoe2")删除目标对象aoe223、Drag Movie Clip 拖动影片片段Start drag operation:开始拖动Target:目标对象Constrain to rectangle:Left,Top,Right,Bottom鼠标的位置,左上右下Lock mouse to center:鼠标放置在中心Stop drag operation停止拖动例子:Start Drag ("aoe", L=2, T=3, R=4, B=5)拖动目标对象aoe,位置在L=2, T=3, R=4, B=5Start Drag ("aoe", lockcenter)拖动目标对象aoe,位置在中心Stop Drag停止拖动24、Trace 跟踪Message:信息例子:Trace ("aoe")显示aoeTrace (aoe)显示aoe 的值25、Comment注释Comment:注释例子:Comment ("计算")注释:计算box_btn.onPress=function(){trace("ok");};按钮实例名称.事件处理方法=function(){//处理程序};例如:n=1box_btn.onRelease=function(){n=n+1trace("n="+n);}当按钮被点一下的时候,Output窗口会输出:"n=2"onClipEvent(load){stop();}以上是影片剪辑的事件处理函数。
Flash AS3.0教程PV3D程序结构主要想说说AS3与AS2的不同之处,没有什么逻辑性,想到什么就写点什么,因此,它不适合AS高手们阅读。
本文将力求用最直白的语言,尽量不用那些艰涩难懂的名词和术语。
一、在什么地方写代码失望,以为要说点啥,原来是这么小儿科的问题。
没办法,我说过了,本文不适合AS高手阅读的。
为了更好地理解,我们还是用例子来说明。
现在,就让我们一起来回顾一下,在AS2中我们都会把代码写在什么地方。
我们在AS2中建一新文档,新建一个影片剪辑元件取名为bt,元件很简单,随便画一个方块就行,你说我偏要画一个园,那当然随你高兴罗,我没意见。
然后,在场景中,用文字工具建一文本框,设为动态文本框,实例名称命名为:text1,将元件bt从库中拖到舞台上,实例名称命名为:bt_mc.现在写代码,想一想,代码写在什么地方,我们来做下面三个测试:测试一:在帧动作中,直接写代码,点中第一层,第一帧,然后打开动作面板,在上面写到:text1.text = "代码执行了“;测试影片,OK,我们看到了”代码执行了“这几个字。
测试二:还在帧动作中写代码,将代码改为:bt_mc.onPress = function() {text1.text = "代码执行了“;}测试影片,当我们点击,元件bt_mc时,又看到了“代码执行了”几个字。
测试三:好象还可以把代码写到元件上,清除帧动作中的代码,点中bt_mc,打开动作面板,写下如下代码:on(press){_root.text1.text = "代码执行了“;}测试影片,点击bt_mc又看到了“代码执行了”几个字。
它怎么老是执行了呢,真是的。
下面我们在AS3中,作相同的测试:测试一、在测试影片时,我们还是看到了那几个字,它都又执行了。
那AS3和AS2不是一样的?你还写个啥子劲?是哈,整了半天AS3和AS2整成一样的了。
在“不到黄河心不死”的精神鼓舞下,我们还是把剩下的两个测试做完。
flash as3.0 常用代码1.全屏播放fscommand("fullscreen",true);2.打开时全屏,在该帧停止fscommand("fullscreen",true);stop();3.跳帧播放(从第几针开始播放后)on (press) {gotoAndPlay(?);}4.点击时开始播放on (press) {play();}5.退出语句如果是FLASH自带的控件on (click){ fscommand("quit",""); } 自已做的按钮on (release){ fscommand("quit",""); }6、当鼠标滑过影片剪辑时,停止播放时间轴。
on (rollOver) {_root.stop();}7、当在影片剪辑上按下鼠标时,停止播放影片剪辑。
on (press) {stop();}8、当影片剪辑上松开鼠标时,播放影片剪辑。
on (release) {play();}9、当鼠标滑离影片剪辑时,播放当前时间轴。
on (rollOut) {_root.play();}10、Goto:跳到一个指定的帧(Frame)Scene: 指定SceneFrame:Number,Label,Expression,Next Frame,Previous Frame 可以选择Frame 的编号,标号,通过表达式,下一帧,前一帧Expression: 定义表达式Control:Go to and Play,Go to and Stop 经过选择这个项目来确定到达指定的帧以后是继续播放还是停止例:Go to and Play (1) 跳到第一帧播放Go to Next Frame 跳到下一帧播放Go to and Stop ("intro") 跳到标号为intro 的帧播11、Play:播放Stop:停止Toggle High Quality:切换画面的细节程度Stop All Sounds:停止所有声音Get URL:打开指定的网址URL: 网址Windows:_self,_blank,_parent,_top 打开网址时使用的目标Variables on’t Send,Send use GET,Send use POST 变量的传递方式例:Get URL ("next.asp", window="_blank", vars=POST) 在新窗口中打开next.asp,并且传递参数12、FScommand:调用命令Command: 命令Arguments: 参数For standalone player:fullscreen,allowscale,showmenu,exec,quit 播放器使用的固定命令和参数例:FS Command ("fullscreen", "true") 设置全屏幕播放13、Load/Unload Movie:调入/释放外部的影片Action:Load movie into location,Unload movie from location,Load variables into location: 可以选择是否调入新影片,释放已经调入的影片,调入变量URL:影片的网址Location:Level,Target: 调入的层,或者是某一目标对象的位置Variables on’t Send,Send use GET,Send use POST: 变量的传递方式例子:Load Movie ("test.swf", 1): 把test.swf 调入到第一层Load Movie ("test.swf", "loadit", vars=GET): 把test.swf 调入到loadit 目标对象的位置Unload Movie ("loadit"): 把loadit 目标对象处的影片释放Load Variables ("makeit.asp", 2, vars=GET): 调用makeit.asp 并接收返回的变量14、Tell Target:指定目标对象Target: 目标对象例:Begin Tell Target ("obj") 指定目标对象objEnd Tell Target15、If Frame is Loaded:判断某帧是否调入Scene: 指定场景Frame:Number,Label,Expression: 指定帧,标号或者表达式Expression: 表达式例:If Frame Is Loaded (Scene 1, "end")End Frame Loaded:判断场景一的标号为end 的帧是否调入16、On MouseEvent 鼠标时间响应Event ress,Release,Release Outside,Roll Over,Roll Out,Drag Over,Drag Out,Key Press 各种事件:按下,放开,在外面放开,焦点移入,移出,拖过,拖出,按键按下例:On (Press) 鼠标按下的时候End OnOn (Key: s) 键盘上s 按下的时候End On17、If 判断条件是否成立Condition: 条件Add Else/Else If clause: 加入Else 再次判断例:If (a=10) 如果a=10 那么……End IfIf (a=10) 如果a=10 那么……不然……ElseEnd If18、Loop 循环Condition: 条件例:Loop While (a=10) 如果a=10 那么循环End Loop19、Call 调用函数帧或对象Frame: 函数帧例:Call ("make") 调用make 帧程序20、Set Property 设置属性Set:Y Positon,X Position,Y Scale,XScale,Alpha,Visibility,Rotation,Name,High quality,Show focus rectangle,Sound buffer time 设置y 坐标,x坐标,y 放大倍数,x 放大倍数,透明度,可视否,旋转角度,名称,精细度,焦点矩形框否是显示,声音缓冲的时间(默认5秒)Target: 目标对象value: 值例:Set Property ("aoe", X Position) = "12" 设置目标对象aoe 的x 坐标为12Set Property (Show focus rectangle) = "0" 取消焦点框21、Set Variable 设置变量Variable: 变量value: 值例:Set Variable: "test" = 10 设置test=1022、Duplicate/Remove Movie Clip 复制对象Action uplicate movie clip,Remove duplicate movie clip 可选择是复制还是删除Target: 目标对象New name: 新目标对象的名字Depth: 深度例:Duplicate Movie Clip ("aoe", "aoe2", 1) 复制aoe 一个新的动画,名字叫aoe2Remove Movie Clip ("aoe2") 删除目标对象aoe223、Drag Movie Clip 拖动影片片段Start drag operation: 开始拖动Target: 目标对象Constrain to rectangle:Left,Top,Right,Bottom 鼠标的位置,左上右下Lock mouse to center: 鼠标放置在中心Stop drag operation 停止拖动例:Start Drag ("aoe", L=2, T=3, R=4, B=5) 拖动目标对象aoe,位置在L=2, T=3, R=4, B=5Start Drag ("aoe", lockcenter) 拖动目标对象aoe,位置是在中心Stop Drag 停止拖动24、Trace 跟踪Message: 信息例:Trace ("aoe") 显示aoeTrace (aoe) 显示aoe 的值25、Comment 注释Comment: 注释例子:Comment ("计算") 注释:计算box_btn.onPress=function(){trace("ok");};按钮实例名称.事件处理方法=function(){ //处理程序};例如:n=1box_btn.onRelease=function(){n=n+1trace("n="+n);}当按钮被点一下的时候,Output窗口会输出:"n=2"onClipEvent(load){stop();}上面是影片剪辑的事件处理函数。
AS3.0代码单击按钮时播放到第五帧的Btn.addEventListener(MouseEvent.CLICK,onClick);functiononClick(Evt:MouseEvent){gotoAndStop(totalFrames);}复制代码FLASH CS3 AS3.0 按钮如何制作代码如何写stop();按钮.addEventListener(MouseEvent.MOUSE_DOWN,MouseDown);function MouseDown(event:MouseEvent):void{gotoAndStop(2);//执行按钮}_root.MC.按钮可以获得按钮;//as 2.0_root.MC.按钮=function() { //执行按钮}//as 3.0root.MC.按钮.addEventListener(MouseEvent.MouseDown,MouseDown);function MouseDown(event:MouseEvent):void { //执行按钮}案例2:熟悉addChild和removeChild在不同的swf之间的运用,以及loader的用法说明:点击picture会载入另一个swf,点击载入的swf上的一个按钮,该swf消失。
代码:swfA(也就是按钮所在的flash)varloader:Loader = new Loader();loader.load(new URLRequest("Popup.swf"));picture_btn.addEventListener(MouseEvent.CLICK, showPicture);function showPicture(event:MouseEvent):void{addChild(loader);}AS3里用loader代替了loadMovie,load的时候不能直接添加路径名,需要通过URLRequest来载入。
FLASH(实例案例教程) AS3.0代码简介22011-06-23 01:21MovieClip 的公共属性属性定义方accessibilityProperties : AccessibilityProperties此显示对象的当前辅助功能选项。
DisplayObjectalpha : Number指示指定对象的 Alpha 透明度值。
DisplayObjectblendMode : StringBlendMode 类中的一个值,用于指定要使用的混合模式。
DisplayObjectblendShader : Shader[只写] 设置用于混合前景和背景的着色器。
DisplayObjectbuttonMode : Boolean指定此 sprite 的按钮模式。
SpritecacheAsBitmap : Boolean如果设置为 true,则 Flash Player 将缓存显示对象的内部位图表示形式。
DisplayObject constructor : Object对类对象或给定对象实例的构造函数的引用。
ObjectcontextMenu : ContextMenu指定与此对象相关联的上下文菜单。
InteractiveObjectcurrentFrame : int[只读 (read-only)] 指定播放头在 MovieClip 实例的时间轴中所处的帧的编号。
MovieClipcurrentFrameLabel : String[只读 (read-only)] MovieClip 实例的时间轴中当前帧上的标签。
MovieClip currentLabel : String[只读 (read-only)] 在 MovieClip 实例的时间轴中播放头所在的当前标签。
MovieClip currentLabels : Array[只读 (read-only)] 返回由当前场景的 FrameLabel 对象组成的数组。
Flash,AS3.0 教程:代码的位置 篇一:Flash AS3.0 教程:代码的位置 Flash AS3.0 教程:代码的位置 第一*课.件>网 f 早期版本的 ActionScript 代码可以写在帧、 按钮、 影片剪辑、 as 文件等位置, 而 Flash AS3.0 代码的位置发生了重大的改变,只能写在帧及 as 文件中。
虽然 Flash AS3.0 支持把代码写在时间轴中,但在实际应用中,如果把很多的代码放在时 间轴中,会导致代码很难管理。
或者说,用类来组织大量的代码更为合适,因为类代码都是放 在 as 文件中的。
除了把代码放在时间轴上,还可以把代码放在外部文件中,比如,放在服务器的 txt 文件 中,然后把这些外部数据加载到 fla 文件里。
外部文件代码 以往都是在时间轴上写代码,编写的程序一般只有多层一帧的特点,其中最顶层专门来 放置代码。
在这种模式中,假如程序比较大,需要几百行代码来实现,甚至更多,代码全部放 在同一个地方,光是查看就很不方便,需要打开 Flash 软件,然后找到帧及动作面板,最后进 行翻页查看代码。
实际上,对于一个代码较多的程序,可以把代码分成几个大的功能模块,每个模块代码 放在一个 as 文件中,这样不管是查看还是进行其他的管理都较方便。
除了使用 Flash IDE ,可用记事本来编写代码,这样速度更快,写完代码后把扩展名改为 as 可以达到同样的效果,如果不是很熟悉编程,还是使用 Flash 自带的编辑器编写为好,可以 使用代码提示。
下面通过一个例子来了解如何编写 as 文件中的代码,如何把 as 文件中的代 码导入到时间轴中。
例:(代码与美工的分离) 1、打开 Flash,选择【新建】命令,在弹出的【新建文档】对话框中选 ActionScript 文 件,单击确定按钮,新建一个 as 文件,保存名为“shift.as”。
2、在 as 文件中输入代码,代码的编写方法与在时间轴上是一样的: this.addEventListener(Event.ENTER_FRAME , onEnterframe) var shift : Number = 0 var startX = 200 var startY = 200 var r = 60 graphics.lineStyle(0) graphics.moveTo(startX + r , startY) 1 function onEnterframe(evt: Event) { graphics.lineTo(startX + r * Math.cos(shift),startY + r * Math.sin(shift)) 1 / 15ball.x = startX + r * Math.cos(shift) ball.y = startY + r * Math.sin(shift) shift += 15 } 3、新建一个 Flash 文件,保存名为“Sample”,保存在与“shift.as”,文件相同的目录中, 4、 按 Ctrl+F8 创建一个影片剪辑元件, 选椭圆工具, 笔触无,填充色红色, 画一个小球。
如果你想要在 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 位置,使其从左到右排列。
请注意,这只是一个简单的示例,你可以根据需要进行调整和修改。
使用flash as3代码来画图使用代码来画图但是我们不推荐这样做太累了演示使用Flash ActionScript 3.0 画一些基本的图形,以及对绘制的图形或其他可视对象做一些基本的转换•画图 - 通过 Shape 对象的 graphics 属性来执行矢量绘图命令o1、使用 lineStyle() 定义画图的线条样式o2、moveTo() - 设置当前绘画点;lineTo() - 以当前绘画点为起点,用当前定义的线条样式,画一条直线到目标点;curveTo() - 指定二次贝塞尔曲线的控制点和终点,从而完成曲线的绘制;drawRect() - 绘制矩形;drawCircle() - 绘制圆形;drawEllipse() - 绘制椭圆;o3、beginFill() 和 endFill() 用于填充他们之间所绘制的图形。
如果是渐变填充则对应的方法是 beginGradientFill 和 endFill()•转换 - 通过设置对象的 transform.matrix 属性,对其做相应的转换o Matrix.rotate() - 旋转的角度o Matrix.translate() - 平移的距离o Matrix.scale() - 缩放的比例o Matrix.b - 将矩阵垂直倾斜o Matrix.c - 将矩阵水平倾斜1、画图在 UI 上放置 8 个 Button名称分别为:btnLine, btnCurve, btnRectangle, btnCircle, btnEllipse, btnLiner, b tnRadial, btnClea分别用于演示:画直线,画曲线,画矩形,画圆形,画椭圆,线性渐变填充,放射性渐变填充,清除图形Main.aspackage{import flash.display.MovieClip;import ponentEvent;import fl.events.SliderEvent;import flash.display.Shape;import flash.geom.Matrix;import flash.display.GradientType;import flash.display.SpreadMethod;public class Main extends MovieClip{var originalMatrix:Matrix;public function Main():void{btnLine.addEventListener(ComponentEvent.BUTTON_DOW N, drawLine);btnCurve.addEventListener(ComponentEvent.BUTTON_DOW N, drawCurve);btnRectangle.addEventListener(ComponentEvent.BUTTON_D OWN, drawRectangle);btnCircle.addEventListener(ComponentEvent.BUTTON_DOW N, drawCircle);btnEllipse.addEventListener(ComponentEvent.BUTTON_DOW N, drawEllipse);btnLiner.addEventListener(ComponentEvent.BUTTON_DOW N, drawLinerGradient);btnRadial.addEventListener(ComponentEvent.BUTTON_DOW N, drawRadialGradient);btnClear.addEventListener(ComponentEvent.BUTTON_DOW N, clearGraphics);}// 画直线function drawLine(e:ComponentEvent):void{// lineStyle() - 定义画图的线条样式// 第一个参数:线条粗细,整数(0 - 255)// 第二个参数:线条的颜色值(16进制)// 第三个参数:不透明度(0 - 1)canvas.graphics.lineStyle(12, 0x000000);// moveTo() - 设置当前绘画点。
FLASH as3.0常用代码1.按钮事件(新版)步骤:实现第一帧暂停:右击第一帧,点动作,写代码stop();实现点按钮开始:放一个按钮(可以在窗口菜单->公用库->按钮里找一个)在第一帧的舞台上,属性面板里给按钮取名:实例名称bt1 ,右击第一帧,点动作,写代码:bt1.addEventListener(MouseEvent.CLICK ,f1); function f1(evt:MouseEvent){gotoAndPlay(2);}//////////////////////////补充:as2(老版)中的按钮事件实现第一帧暂停:右击第一帧,点动作,写代码stop();实现点按钮开始:放一个按钮(可以在窗口菜单->公用库->按钮里找一个)在第一帧的舞台上,右击按钮,点动作,写代码:on (release){ gotoAndPlay(2); }//////////////////////////2.按钮超链接linkButton.addEventListener(MouseEvent.CLICK, gotoAdobeSite);function gotoAdobeSite(event:MouseEvent):void {var adobeURL:URLRequest = new URLRequest("");navigateToURL(adobeURL);}3.随机数Math.random ()输出时间var time1:Date=new Date(); t1.text=time1.toLocaleTimeString(); 4.画线1graphics.lineStyle(3,0xff0000,0.3);graphics.moveTo(300,100);graphics.lineTo(200,300);画线2graphics.lineStyle(1,0xff0000,1);for(var i:int=0;i<100;i++){graphics.lineTo(Math.random()*600,Math.random ()*400);}5. 画三角形var m1:MovieClip = new(MovieClip); //声明一个新的mc类bt1,并用new来构造它m1.graphics.lineStyle(2, 0x990000, .75);//使用bt1的graphics属性设置线条粗细,颜色,透明度m1.graphics.beginFill(0x00FF00);//以下的代码是用graphics画三角形。
使用flash as3代码来画图使用代码来画图但是我们不推荐这样做太累了演示使用Flash ActionScript 3.0 画一些基本的图形,以及对绘制的图形或其他可视对象做一些基本的转换∙画图 - 通过 Shape 对象的 graphics 属性来执行矢量绘图命令o1、使用 lineStyle() 定义画图的线条样式o2、moveTo() - 设置当前绘画点;lineTo() - 以当前绘画点为起点,用当前定义的线条样式,画一条直线到目标点;curveTo() - 指定二次贝塞尔曲线的控制点和终点,从而完成曲线的绘制;drawRect() - 绘制矩形;drawCircle() - 绘制圆形;drawEllipse() - 绘制椭圆;o3、beginFill() 和 endFill() 用于填充他们之间所绘制的图形。
如果是渐变填充则对应的方法是 beginGradientFill 和 endFill()∙转换 - 通过设置对象的 transform.matrix 属性,对其做相应的转换o Matrix.rotate() - 旋转的角度o Matrix.translate() - 平移的距离o Matrix.scale() - 缩放的比例o Matrix.b - 将矩阵垂直倾斜o Matrix.c - 将矩阵水平倾斜1、画图在 UI 上放置 8 个 Button名称分别为:btnLine, btnCurve, btnRectangle, btnCircle, btnEllipse, btnLiner, b tnRadial, btnClea分别用于演示:画直线,画曲线,画矩形,画圆形,画椭圆,线性渐变填充,放射性渐变填充,清除图形Main.aspackage{import flash.display.MovieClip;import ponentEvent;import fl.events.SliderEvent;import flash.display.Shape;import flash.geom.Matrix;import flash.display.GradientType;import flash.display.SpreadMethod;public class Main extends MovieClip{var originalMatrix:Matrix;public function Main():void{btnLine.addEventListener(ComponentEvent.BUTTON_DOW N, drawLine);btnCurve.addEventListener(ComponentEvent.BUTTON_DOW N, drawCurve);btnRectangle.addEventListener(ComponentEvent.BUTTON_D OWN, drawRectangle);btnCircle.addEventListener(ComponentEvent.BUTTON_DOW N, drawCircle);btnEllipse.addEventListener(ComponentEvent.BUTTON_DOW N, drawEllipse);btnLiner.addEventListener(ComponentEvent.BUTTON_DOW N, drawLinerGradient);btnRadial.addEventListener(ComponentEvent.BUTTON_DOW N, drawRadialGradient);btnClear.addEventListener(ComponentEvent.BUTTON_DOW N, clearGraphics);}// 画直线function drawLine(e:ComponentEvent):void{// lineStyle() - 定义画图的线条样式// 第一个参数:线条粗细,整数(0 - 255)// 第二个参数:线条的颜色值(16进制)// 第三个参数:不透明度(0 - 1)canvas.graphics.lineStyle(12, 0x000000);// moveTo() - 设置当前绘画点。
FlashAS3.0实例教程:Main类打造发散效果-电脑资料1、新建Flash文档,550*400,其它默认,。
2、创建影片剪辑,选椭圆工具,笔触无,填充色放射渐变,画一个椭圆(形状自定,我相你会比我画得更好),右键库中设置链接,类名Ball。
3、返回场景1,第一层建背景(随意),新建as图层,在as图层第一帧输入代码://小球的初始位置[code]//小球的初始位置var ballx:Number = 275;var bally:Number = 400;//小球运动速度var speed:Number = 5;stage.addEventListener(MouseEvent.CLICK,shoot);function shoot(e:MouseEvent):void{for(var i:int = 1;i<9;i++){//从库中创建小球var ball:Ball = new Ball();//初始化小球位置ball.x = ballx;ball.y = bally;//根据三角函数计算小球的速度ball.spdx = cosD(i*-20)*speed;ball.spdy = sinD(i*-20)*speed;//注册enterFrame事件ball.addEventListener(Event.ENTER_FRAME,ballMove);e.target.addChild(ball);}function ballMove(e:Event):void{//获取小球的引用var obj:MovieClip = e.target;//设置小球的坐标,实现运动obj.x += obj.spdxobj.y += obj.spdyif(obj.y<0||obj.x<0||obj.x>550||obj.y>400){//移除enterFrame事件obj.removeEventListener(Event.ENTER_FRAME,ballMove) //从显示列表删除stage.removeChild(obj)}}//角度转换为弧度function angleToRadian(angle:Number):Number{return angle*(Math.PI/180);}function sinD(angle:Number):Number{return Math.sin(angleToRadian(angle));}function cosD(angle:Number):Number{return Math.cos(angleToRadian(angle));。
1. 场景跳转:● gotoAndPlay(scene,frame);● gotoAndStop(scene,frame);● nextFrame();● preFrame();● nextScene();● preScene();2. 简单数据类型:● Boolean:true或false,默认值是false;● Int :整型,默认值是0;● Null:仅包含一个值null;● Number:双精度浮点型,默认值是NaN;● String:字符序列,默认值是null;Uint:整型,默认值是0;3. 全屏代码:stage.displayStage="fullScreen";4. 指针代码:...(对象)buttonMode=true;5. 加载链接:...(对象)addEventListener(MouseEvent.CLICK,onPress_Handler); function onPress_Handler(e:MouseEvent):void {navigateToURL(newURLRequest("") );}6. 加载音乐:var sound:Sound=new Sound(new URLRequest("音频文件地址"));sound.play();7. 场景跨越:stop();mc.buttonMode=true;mc.addEventListener(MouseEvent.CLICK,b1); function b1(Event:MouseEvent) { gotoAndPlay(3,"场景1");}stop();8. 控制播放Stop();mc.addEventListener(MouseEvent.CLICK,bf) function bf(e:MouseEvent){Play();}9. 遮帘过渡:import fl.transitions.*;import fl.transitions.easing.*;TransitionManager.start(mc1,{type:Blinds,direcction ransition.IN,duration:2,easing:None.easeNone,numStripts: 10,dimension:0});注解:Type:过渡效果;direction:过渡方向(Transition.IN:由内向外、由上到下;Transition.OUT:与之相反)Duration:过渡时间长短;easing:缓动效果;numStripts:遮帘效果条纹数(建议1-50);dimension:遮帘条纹是垂直(0)还是水平的(1);TransitionManager.start():创建过渡的类的方法和属性。
flashcs3As3.0类编程在线教程(ActionScript3.0入门到精通)200讲flash cs3 As3.0类编程在线教程(Action Script3.0入门到精通)200讲当前位置:理想视频教程网→ 免费在线教程→ 电脑类在线课程flash cs3 As3.0类编程在线教程(Action Script3.0入门到精通)200讲减小字体增大字体第一章:基础1.学习方法2.代码书写的位置13.代码书写的位置24.代码书写的位置35.代码书写的位置46.代码书写的位置57.代码书写的位置68.类的概念9.类的继承性10.代码书写的工具11.练习112.练习213.思考延伸第二章事件14.学习思路15.鼠标事件16.鼠标单击17.鼠标按下与松开18.鼠标移入与移出19.影片鼠标事件120.影片鼠标事件221.影片鼠标事件322.超炫按钮123.超炫按钮224.超炫按钮325.超炫按钮426.超炫按钮527.超炫按钮628.重复执行事件129.重复执行事件230.重复执行事件331.重复执行事件432.重复执行事件533.重复执行事件634.重复执行事件735.重复执行事件836.重复执行事件937.重复执行事件1038.重复执行事件1139.时间事件140.时间事件241.时间事件342.时间事件443.时间事件544.时间事件645.时间事件746.时间事件847.时间事件948.时间事件1049.时间事件1150.键盘事件151.键盘事件252.键盘事件353.键盘事件454.键盘事件555.键盘事件656.键盘事件757.键盘事件858.键盘事件959.键盘事件1060.键盘事件1161.键盘事件1262.键盘事件1363.键盘事件1464.练习—超炫简历165.练习—超炫简历266.练习—超炫简历367.练习—超炫简历468.练习—超炫简历569.练习—超炫简历670.练习—超炫简历771.练习—超炫简历872.练习—超炫简历973.类—超炫简历1074.类—超炫简历1175.类—超炫简历1276.类—超炫简历1377.类—超炫简历1478.类—超炫简历1579.类—超炫简历1680.类—超炫简历1781.类—超炫简历1882.思考延伸第三章:系统环境83.学习方法84.检测操作系统185.检测操作系统286.检测操作系统387.检测操作系统488.检查播放器189.检查播放器290.检查播放器391.检测系统语言192.检测系统语言293.检测系统语言394.检测系统语言495.检测分辨率196.检测分辨率297.检测分辨率398.设置缩放199.设置缩放2 100.对齐模式1 101.对齐模式2 102.禁用右键菜单103.禁用部分菜单1 104.禁用部分菜单2 105.禁用部分菜单3 106.禁用部分菜单4 107.自定义菜单1108.自定义菜单2 109.自定义菜单3 110.自定义菜单4 111.自定义菜单5 112.自定义菜单6 113.自定义菜单7 114.自定义菜单8 115.自定义菜单9 116.自定义菜单10 117.检测声音118.检测MP3 1 119.检测MP3 2 120.检测MP3 3 121.检测MP3 4 122.检测MP3 5 123.检测视频124.改变播放器设置125.安全设置126.练习—双语简历1 127.练习—双语简历2 128.练习—双语简历3 129.练习—双语简历4130.思考延伸第四章:数据131.学习方法132.数字的表现形式133.表现形式间转换1134.表现形式间转换2 135.数字的类型136.四舍五入1137.四舍五入2138.正负值转换139.随机数值140.限制随机数值141.练习—掷色子1 142.练习—掷色子2 143.练习—掷色子3 144.练习—掷色子4 145.练习—掷色子5 146.练习—掷色子6 147.练习—掷色子7 148.练习—掷色子8 149.练习—掷色子9 150.练习—掷色子10151.练习—掷色子11 152.练习—掷色子12 153.练习—掷色子13 154.练习—掷色子14 155.练习—掷色子15 156.练习—掷色子16 157.练习—掷色子17 158.练习—掷色子18 159.练习—掷色子19 160.练习—掷色子20 161.练习—掷色子21162.思考延伸第五章:石头剪刀布游戏163.学习思路164.石头剪刀布1165.石头剪刀布2166.石头剪刀布3167.石头剪刀布4168.石头剪刀布5169.石头剪刀布6170.石头剪刀布7171.石头剪刀布8172.石头剪刀布9173.石头剪刀布10 174.石头剪刀布11 175.石头剪刀布12 176.石头剪刀布13 177.石头剪刀布14 178.石头剪刀布15 179.石头剪刀布16 180.石头剪刀布17 181.石头剪刀布18 182.石头剪刀布19 183.石头剪刀布20184.石头剪刀布21 185.石头剪刀布22 186.石头剪刀布23 187.石头剪刀布24 188.石头剪刀布25 189.石头剪刀布26 190.石头剪刀布27 191.石头剪刀布28 192.石头剪刀布29 193.石头剪刀布30 194.石头剪刀布31195.石头剪刀布32 196.石头剪刀布33 197.石头剪刀布34 198.石头剪刀布35 199.石头剪刀布36 200.石头剪刀布37。
Flash,AS3.0 教程:代码的位置 篇一:Flash AS3.0 教程:代码的位置 Flash AS3.0 教程:代码的位置 第一*课.件>网 f 早期版本的 ActionScript 代码可以写在帧、 按钮、 影片剪辑、 as 文件等位置, 而 Flash AS3.0 代码的位置发生了重大的改变,只能写在帧及 as 文件中。
虽然 Flash AS3.0 支持把代码写在时间轴中,但在实际应用中,如果把很多的代码放在时 间轴中,会导致代码很难管理。
或者说,用类来组织大量的代码更为合适,因为类代码都是放 在 as 文件中的。
除了把代码放在时间轴上,还可以把代码放在外部文件中,比如,放在服务器的 txt 文件 中,然后把这些外部数据加载到 fla 文件里。
外部文件代码 以往都是在时间轴上写代码,编写的程序一般只有多层一帧的特点,其中最顶层专门来 放置代码。
在这种模式中,假如程序比较大,需要几百行代码来实现,甚至更多,代码全部放 在同一个地方,光是查看就很不方便,需要打开 Flash 软件,然后找到帧及动作面板,最后进 行翻页查看代码。
实际上,对于一个代码较多的程序,可以把代码分成几个大的功能模块,每个模块代码 放在一个 as 文件中,这样不管是查看还是进行其他的管理都较方便。
除了使用 Flash IDE ,可用记事本来编写代码,这样速度更快,写完代码后把扩展名改为 as 可以达到同样的效果,如果不是很熟悉编程,还是使用 Flash 自带的编辑器编写为好,可以 使用代码提示。
下面通过一个例子来了解如何编写 as 文件中的代码,如何把 as 文件中的代 码导入到时间轴中。
例:(代码与美工的分离) 1、打开 Flash,选择【新建】命令,在弹出的【新建文档】对话框中选 ActionScript 文 件,单击确定按钮,新建一个 as 文件,保存名为“shift.as”。
2、在 as 文件中输入代码,代码的编写方法与在时间轴上是一样的: this.addEventListener(Event.ENTER_FRAME , onEnterframe) var shift : Number = 0 var startX = 200 var startY = 200 var r = 60 graphics.lineStyle(0) graphics.moveTo(startX + r , startY) 1 function onEnterframe(evt: Event) { graphics.lineTo(startX + r * Math.cos(shift),startY + r * Math.sin(shift)) 1 / 15ball.x = startX + r * Math.cos(shift) ball.y = startY + r * Math.sin(shift) shift += 15 } 3、新建一个 Flash 文件,保存名为“Sample”,保存在与“shift.as”,文件相同的目录中, 4、 按 Ctrl+F8 创建一个影片剪辑元件, 选椭圆工具, 笔触无,填充色红色, 画一个小球。
5、返回场景 1,把库中的小球拖到舞台上,在属性面板实例名称中,输入 ball。
6、单击图层 1,的第一帧,打开动作面板,输入代码: include "shift.as" 提示:导入命令在 AS3.0 中是 include,而在 AS3.0 以前的版本是 #include。
7、按 Ctrl+Enter 组合键测试影片。
导入 as 文件中的代码用 include 命令,如果 as 文件与 fla 文件不在同一目录,则应带上 目录名。
例如, 如果 as 文件在 fla 文件的上一级目录, 可用“. . /”引用上一级目录, 代码应为: include ". . /shift.as",如果 as 文件在 fla 文件的子一级目录如 test 中,代码应为: include "test/shift.as" 。
2 篇二:FLASH_as3.0 常用代码 FLASH as3.0 常用代码 1.按钮事件(新版) 步骤: 实现第一帧暂停:右击第一帧,点动作,写代码 stop(); 实现点按钮开始:放一个按钮(可以在窗口菜单->公用库->按钮里找一个)在第一帧的舞 台上,属性面板 里给按钮取名:实例名称 bt1 ,右击第一帧,点动作,写代码: bt1.addEventListener(MouseEvent.CLICK ,f1); function f1(evt:MouseEvent){ gotoAndPlay(2); } ////////////////////////// 补充:as2(老版)中的按钮事件 实现第一帧暂停:右击第一帧,点动作,写代码 stop(); 实现点按钮开始:放一个按钮(可以在窗口菜单->公用库->按钮里找一个)在第一帧的舞 台上,右击 按钮,点动作, 写代码: on (release) {gotoAndPlay(2);} ////////////////////////// 2 / 152.按钮超链接 linkButton.addEventListener(MouseEvent.CLICK, gotoAdobeSite); function gotoAdobeSite(event:MouseEvent):void { var adobeURL:URLRequest = new URLRequest(""); navigateToURL(adobeURL); } 3.随机数 Math.random () 输出时间 var time1:Date=new Date();t1.text=time1.toLocaleTimeString(); 4. 画线 1 graphics.lineStyle(3,0xff0000,0.3); graphics.moveTo(300,100); graphics.lineTo(200,300); 画线 2 graphics.lineStyle(1,0xff0000,1); for(var i:int=0;i {graphics.lineTo(Math.random ()*600,Math.random ()*400);} 5. 画三角形 var m1:MovieClip = new(MovieClip); //声明一个新的 mc 类 bt1,并用 new 来构造它 m1.graphics.lineStyle(2, 0x990000, .75);//使用 bt1 的 graphics 属性设置线条粗细,颜色, 透明度 m1.graphics.beginFill(0x00FF00);//以下的代码是用 graphics 画三角形。
m1.graphics.moveTo(100,200); m1.graphics.lineTo(200,100); m1.graphics.lineTo(0,100); m1.graphics.lineTo(100,200); this.addChild(m1); 6.影片剪辑属性设置 aa.x = aa.x+20; aa.y = aa.y+20; aa.rotation=aa.rotation+10; aa.scaleX=aa.scaleX*1.1; aa.scaleY=aa.scaleY*1.1 aa.alpha=0.5; 7.复制影片剪辑 //影片剪辑_属性_高级_类名:snow var mc:MovieClip = new snow(); addChild(mc); 3 / 15mc.x=300*Math.random (); mc.y=200*Math.random (); 8.变量定义,赋值 var n1:Number = 9; n1=n1+2; var s1:String = n1.toString(); 9.输入文本 //密码框,按钮,输出框 stop(); bt1.addEventListener(MouseEvent.CLICK ,f1); function f1(evt:MouseEvent){ var s1:String; s1="2"; if(String(a.text)==s1) {b.text="right";} else {b.text="wrong";} } 10.数学运算 function f1(evt:MouseEvent){ var str:String =String( aa.text); var n:Number=10; n=Number(str)+1; bb.text= String(n); } 11.不同的帧传递文本 //第一帧 stop(); var s1:String; s1="abc"; bt1.addEventListener(MouseEvent.CLICK ,f1); function f1(evt:MouseEvent){ s1=this.a.text; gotoAndPlay(2); } //第二帧 this.b.text=s1; stop(); 4 / 1512.数组使用 var s:Array = new Array(4); var i; s[0]=8; s[1]=4; s[2]=7; s[3]=9; a.text=String(s[0]* s[1]); 13.组件 //单选按钮 r1,文本框 t1,按钮 bt1 bt1.addEventListener(MouseEvent.CLICK ,f1); function f1(evt:MouseEvent){ if(r1.selected==true) {t1.text="right";} else { t1.text="fasle"; } } 14 下雨: 新键一个影片剪辑。
在里面作出来一滴雨落下得效果。
然后设置元件属性 - 链接类 为 snow。
在第 2,3 帧上面插入关键帧。
在第一帧动作里面写上 var i; i=1; 在第 2 帧上面写上 var mc:MovieClip = new snow(); if(i { mc.x=550*Math.random (); mc.y=450*Math.random (); mc.alpha=Math.random ()*1; addChild(mc); i=i+1; } 第 3 贞上面写上 gotoAndPlay(2); 15.声音控制 //声音_属性__类名:cc var song:SoundChannel; var mysound:Sound; 5 / 15mysound=new cc(); var po:Number=0; //开始: song=mysound.play(0); } //暂停: bt2.addEventListener(MouseEvent.CLICK ,f2); function f2(evt:MouseEvent){ po=song.position; song.stop(); } //继续播放: bt3.addEventListener(MouseEvent.CLICK ,f3); function f3(evt:MouseEvent){ song=mysound.play( po ); } 16.临时输出 trace("aa"); 17.类的定义与对象的声明 import s2; var ss:s2 = new s2(); var n:Number; n=ss.a ; trace(n); ///////////// package { public class s2 { public var a:Number; public var b:Number; public function s2(){ this.a=2; this.b=3 } publicfunction f (n:Number):Number { return 10; }}} ///////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// 6 / 15FLASH as2.0 常用代码 1.暂停: stop(); 2.按钮开始:on (release) { gotoAndPlay(2);} 3.数组的用法: var s=new Array(4); s[0]=8 s[1]=4 s[2]=7 s[3]=9 for(i=0;i a.text=a.text+ s[i]+"," 4.鼠标隐藏: _root.m._x=_root._xmouse ; _root.m._y=_root._ymouse ; Mouse.hide (); 5. 声音的控制代码: myMusic = new Sound(); //建立一个名为 myMusic 的声音对象 myMusic.attachSound("m1"); 篇三:Flash_as3.0 实例教程 100 例 实例一 利用缓动类实现图片滚动点击放大效果 //缓动类不在 flash 包中在 fl 包中所以要先导入 import fl.transitions.Tween;//导入缓动类 import fl.transitions.TweenEvent;//导入缓动事件 import fl.transitions.easing.Regular;//导入缓动效果中有规律的 var arrTupian:Array=[];//存 放图片的数组 var tweenscaleX:Tween;//用来控制图片宽高的缓动类 var tweenscaleY:Tween; var datu:MovieClip; for (var i:int=0; i var xiaotu:MovieClip =new Pic();//这里 Pic 是库中一个存放图片的类文 件 addChild(xiaotu); xiaotu.gotoAndStop(i+1); xiaotu.width=120; xiaotu.height=100; xiaotu.x=xiaotu.width/2+i*(xiaotu.width+10); xiaotu.y=420; arrTupian.push(xiaotu); xiaotu.addEventListener(Event.ENTER_FRAME ,dongf);//为每个小球添加移动帧频函数} 7 / 15function dongf(e) { var mc:MovieClip=e.target; mc.x-=6; if (mc.x mc.x=xiaotu.width/2+7*(xiaotu.width+10); } mc.buttonMode=true; mc.addEventListener(MouseEvent.MOUSE_OVER ,overf);/// 鼠 标 移 过 时 候 停 止 移 动 mc.addEventListener(MouseEvent.MOUSE_OUT,outf);// } function overf(e) { for (i=0; i //注意是点击一张图片应该让所有的图片都移除移动的侦听 arrTupian[i].removeEventListener(Event.ENTER_FRAME ,dongf); arrTupian[i].removeEventListener(MouseEvent.MOUSE_OVER ,overf); //注意也要把移过函数移除,等下次再调用再添加防止下面的效果还没有达到又开始此 函数 } //此时大图出现 datu=new Pic(); datu.gotoAndStop(arrTupian.indexOf (e.target)+1); addChild(datu); datu.x=stage.stageWidth/2; datu.y=200; tweenscaleX=new Tween(datu,"scaleX",Regular.easeOut,1,3,0.5,true);//参数从 1 倍扩大到 3 倍 tweenscaleY=new Tween(datu,"scaleY",Regular.easeOut,1,3,0.5,true); //参数分别是对象,属性,缓动类型,开始参数,结束参数,缓动事件,true 表示为单位 为妙 false 表示为帧 } function outf(e) { e.target.removeEventListener(MouseEvent.MOUSE_OVER ,overf); e.target.removeEventListener(MouseEvent.MOUSE_OVER ,outf); tweenscaleX=new Tween(datu,"scaleX",Regular.easeOut,3,1,0.5,true);// 开始和结束的参数 反过来则实现了缩小的效果 tweenscaleY=new Tween(datu,"scaleY",Regular.easeOut,3,1,0.5,true); //tweenScaleX=new Tween.yoyo () 或者用这个方法,表示实现原来缓动的相反过程 //tweenScaleY=new Tween.yoyo () tweenscaleX.addEventListener(TweenEvent.MOTION_FINISH,fishf); } 8 / 15function fishf(e) { removeChild(datu); datu=null;//注意从显示列表中清除后, //元件本身还有东西,因此还要把大图元件清空 for (i=0; i arrTupian[i].addEventListener(Event.ENTER_FRAME ,dongf); } 实例二 利用 timer 类实现图片的切换 场景中有一个 pic 图片多帧元件, currnum 和 totalnum 两个动态文本 speed 输入文本, 一 个 msg 动态文本 var timer:Timer; speed.text="2"//播放的初始速度为 1000 毫秒 btn.addEventListener(MouseEvent.CLICK ,f); function f(e) { msg.text="" timer=new Timer(1000*Number(speed.text),pic.totalFrames); //计时器运行的时间单位都是毫秒,因此输入的速度都是秒应该再乘以 1000.//输入的文 本都是字符串因此要转化成数字 timer.start(); timer.addEventListener(TimerEvent.TIMER ,timerf); timer.addEventListener (TimerEvent.TIMER_COMPLETE,comf)//添加一个播放完后的函数 } function timerf(e) { pic.gotoAndStop(timer.currentCount);//图片播放的张数及为计时器运行的当前次数 //例如运行一次既是第一张,两次则为第二张 currnum.text=String(timer.currentCount); totalnum.text=String(timer.repeatCount);//计时器总共运行的次数 } function comf(e){ msg.text="图片已经播放完毕谢谢欣赏"//信息文本框的文本显示内容 } var format:TextFormat=new TextFormat("Impact",15,0xff00ff,true);var txt:TextField=new TextField(); addChildAt(txt,numChildren-1); txt.text="这里随便写些东西"; txt.wordWrap=true; txt.setTextFormat(format); txt.width=txt.textWidth; txt.height=txt.textHeight; 9 / 15txt.x=10,txt.y=33; 实例三 点击小图看大图效果 var targetArr:Array=[]; var pointArr:Array=[]; var picArr:Array=[]; var index:int; var targetPoint=new Point(275,200); for (var i:int=0; i var point:Point=new Point(); var targetP:Point=new Point(); //var C:Class=getDefinitionByName("cat"+i) as Class;/加载同路径文件夹中的名字为 cat+i20 张的图片 var bmd:BitmapData=new C(0,0);//库中一个图片类文件 var bmp:Bitmap=new Bitmap(bmd); var mc:MovieClip=new MovieClip(); addChild(mc); mc.addChild(bmp); bmp.x=- bmp.width/2; bmp.y=- bmp.height/2; mc.scaleX=mc.scaleY=.4; i i>=6&&i i>=10&&i i>=16&&i point.x=targetP.x=mc.x,point.y=targetP.y=mc.y;//记录此时每张图片的位置 mc.mouseChildren=false; mc.n=i;//定义 mc 的私有属性记录每张图片的索引值 picArr.push(mc);// targetArr.push(targetP); pointArr.push(point); } var timer:Timer=new Timer(1000); timer.start(); timer.addEventListener(TimerEvent.TIMER,picMove); var k:int=0; function picMove(e) {//图片移动效果 k++; for (var j:int=0; j targetArr[j].x=pointArr[(k+j)%pointArr.length].x;//当前点的坐标 随着 k 的增加等于目标点坐标循环变换 targetArr[j].y=pointArr[(k+j)%pointArr.length].y; if (picArr[j].x==275&&picArr[j].y==200) {//说明是中心位置的图片 continue; 10 / 15。