Flash-AS3.0-第四讲

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第四讲FlashActionScript3.0显示对象二维动画设计DisplayObject类是所有显示类的抽象类,具有所有显示类共同的属性、方法和事件DisplayObject类属性、事件、方法名属性x、y、width、scaleX方法GlobalToLocal等事件enterFrameremoved二维动画设计二维动画设计6种非交互类非交互类说明AVM1Movie早版本影片Bitmap创建位图对象MorphShape用于创建补间动画Shape创建背景图像StaticText创建静态文本Video创建视频二维动画设计6种交互类交互类说明SimpleButton早版本影片TextField创建动态文本Loader加载外部影片、图像等Sprite编写交互代码Stage创建舞台MovieClip创建影片剪辑实例二维动画设计DisplayObjectContainer类是所有显示类的抽象类,具有所有显示类共同的属性、方法和事件DisplayObjectContainer类属性、事件、方法名属性numChildren方法addChild()事件enterFrameremoved等继承事件二维动画设计绘图与Graphics类Flash中的绘图是通过Graphics类来实现的,具有很多绘图方法,大致可以把这些方法分为两类:一是定义绘图样式的方法,二是用于绘制和清除图形的方法。二维动画设计Graphics类的绘图样式方法方法名说明lineStyle定义线条样式lineGradientStyle定义渐变线条样式beginFill定义固体填充样式beginGradientFill定义渐变填充样式beginBitmapFill定义位图填充endFill结束填充方法二维动画设计Graphics类的绘制图形方法方法名说明moveTo定义绘制线条的起点lineTo定义绘制线条的终点curveTo绘制曲线drawCircle绘制圆形drawElipse绘制椭圆drawRect绘制矩形drawRoundRect绘制圆角矩形clear清除绘制二维动画设计Graphics类在Shape类或Sprite类中,具有graphics属性,这个属性其实就是Graphics类的实例。换句话说,要使用Graphics类的方法,不是直接创建Graphics类的实例,二是创建Shape类或Sprite类的实例,此时的显示实例就具有graphics属性,通过graphics属性就可以调用绘图的方法。二维动画设计绘制直线varsp:Shape=newShape();sp.graphics.lineStyle(2);sp.graphics.moveTo(100,100);sp.graphics.lineTo(200,200);addChild(sp);二维动画设计绘制圆形varround:Shape=newShape();round.graphics.beginFill(0xff0000);round.graphics.drawCircle(100,100,50);round.graphics.endFill();addChild(round);二维动画设计绘制椭圆varellipse:Shape=newShape();ellipse.graphics.beginFill(0x0000ff);ellipse.graphics.drawEllipse(160,65,100,70);ellipse.graphics.endFill();addChild(ellipse);二维动画设计绘制矩形varrect:Shape=newShape();rect.graphics.beginFill(0xffcc00);rect.graphics.drawRect(50,160,100,80);rect.graphics.endFill();addChild(rect);二维动画设计绘制圆角矩形varsquare:Shape=newShape();square.graphics.beginFill(0x00ff00);square.graphics.drawRoundRect(160,160,100,100,20,20);square.graphics.endFill();addChild(square)二维动画设计容器类与非容器类交互类可分为容器类和非容器类,可以在容器类的实例中添加其他实例。例如,可以在影片剪辑实例中添加动态文本等显示实例。二维动画设计varsprite:Sprite=newSprite();varshape1:Shape=newShape();varshape2:Shape=newShape();shape1.graphics.beginFill(0xccff00);shape1.graphics.drawCircle(50,50,50);shape1.graphics.endFill();shape2.graphics.beginFill(0xff0000);shape2.graphics.drawRect(100,100,100,80);sprite.addChild(shape1);sprite.addChild(shape2);addChild(sprite);sprite.addEventListener(MouseEvent.MOUSE_DOWN,drag);sprite.addEventListener(MouseEvent.MOUSE_UP,stoDrag);functiondrag(e:MouseEvent){sprite.startDrag();}functionstoDrag(e:MouseEvent){sprite.stopDrag();}二维动画设计MovieClip、Spite、Shape的区别:Shape占用资源最少,但不支持交互。简单地说,Sprite可视为去掉时间轴的MovieClip。Shape为显示对象,Sprite、MovieClip为显示对象容器二维动画设计显示列表可以理解为一棵由可视对象构成的树。舞台就是树根,默认为可见的,在舞台上,我们可以有很多影片剪辑或可视对象(文本框,图形等),把它们加入舞台后,也就成为可见的了。这些影片中也许还嵌套着很多层的可视对象,这就是我们所谓的显示列表,把它们加入舞台后,也就成为可见的了。舞台是最根本的容器,包含着当前SWF的所有显示对象,舞台下面的容器被称为当前SWF主类的实例,(在AS3中,每个SWF文件都和一个ActionScript类相连,如有文档类,文档类则为主类,否则MainTimeLine为主类)二维动画设计显示列表与应用程序架构stageroot显示实例显示实例二维动画设计显示实例常用方法方法名说明addChild(child:DisplayObject)把显示实例添加到显示列表addChildAt(child:DisplayObject,index:int)通过索引把显示实例添加到显示列表removeChild(child:DisplayObject)从显示列表中移除显示实例removeChildAt(index:int)通过索引从显示列表中移除显示实例getChildAt(index:int)返回位于指定索引处的子显示对象实例swapChildren(child1:DisplayObject,child2:DisplayObject):交换两个指定子对象的Z轴顺序(从前到后顺序)。swapChildrenAt(index1:int,index2:int):在子级列表中两个指定的索引位置,交换子对象的Z轴顺序(前后顺序)。二维动画设计加载外部对象使用Loarder类加载外部影片。常用步骤:用文件的位置(URL)创建一个新的URLRequest对象,将这个对象作为Loarder.load()方法的参数如:varloader:Loader=newLoader();loader.load(newURLRequest(“*.swf));addChild(loader);二维动画设计位图处理(Bitmap类和BitmapData类)Bitmap类用于在屏幕上显示位图图像,BitmapData类代表位图图像中的像素,用于操作和访问位图的图像数据。(1)创建BitmapData对象varbmpData:BitmapData=newBitmapData(width,height,transparent,fillColor)(2)添加Bitmap到显示清单varbmp:Bitmap=newBitmap(bmpData);addChild(bmp);二维动画设计绘制显示对象到Bitmap(将显示对象转换为位图)draw()方法vartf:TextField=newTextField();tf.text=bitmaptext;addChild(tf);tf.x=200;tf.y=100;varmyBitmapData:BitmapData=newBitmapData(80,50);myBitmapData.draw(tf);varbmp:Bitmap=newBitmap(myBitmapData);this.addChild(bmp);bmp.x=100;bmp.y=100;stage.scaleMode=StageScaleMode.NO_BORDER;//最大化窗口可以看到文本周边的锯齿二维动画设计创建矩形填充fillRect(rect,color)方法varbmpData:BitmapData=newBitmapData(100,100,false,0xffffff00);varimg:Bitmap=newBitmap(bmpData);addChild(img);varrec:Rectangle=newRectangle(25,25,50,50);bmpData.fillRect(rec,0xff0000);

1 / 25
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功