7.15.编写遮罩

评论(0)浏览(89)分类:flash/flex/fcs/AIR
7.15.编写遮罩问题我要创建遮罩解决办法使用DisplayObject.mask.讨论遮罩可用来创建唯一的图形或视觉效果。例如,可以创建擦除和过渡效果。还可以创建有趣的动画效果,甚至是图形扭曲效果。任何可视化对象都可以作为任一对象的遮罩,下面的代码把sampleSprite 的遮罩设置为maskSprite:+展开-ActionScriptsampleSprite.mask=maskSprite;下面的例子画了两个图形..

7.14.用位图填充图形

评论(0)浏览(95)分类:flash/flex/fcs/AIR
7.14.用位图填充图形问题我要用位图填充图形解决办法使用Graphics.beginBitmapFill( )方法讨论Graphics.beginBitmapFill( )方法允许用位图填充图形,它接受以下参数:bitmap填充用的BitmapData对象matrix默认下不需要应用转换,也可指定flash.geom.Matrix对象进行位图的缩放,旋转,倾斜,透明等变换。repeat布尔值,指定是否平铺位图,默认为true。smooth布尔值,指..

7.13.用渐变色填充图形

评论(0)浏览(127)分类:flash/flex/fcs/AIR
7.13.用渐变色填充图形问题我要用渐变色填充图形解决办法使用beginGradientFill( )和endFill( )方法完成渐变填充讨论渐变色填充是用多种颜色之间的渐变层次来做填充色。Flash支持线形渐变,就是左边的颜色渐变到右边的颜色(这是水平渐变,也可以垂直渐变),或者指定旋转角度。Flash也支持放射渐变,它是从中心到四周渐变颜色。通过beginGradientFill( )启动渐变填充..

7.12.用实心和半透明来填充图形

评论(0)浏览(60)分类:flash/flex/fcs/AIR
7.12.用实心和半透明来填充图形问题我想填充图形解决办法使用Graphics.beginFill( )和Graphics.endFill( )方法对完成图形填充讨论要填充图形,在画图形之前必须前调用beginFill( )方法,画好图形后调用endFill( )方法结束填充。你不能填充已经画好的图形,在填充图形之前必须前记得先调用beginFill( )方法。下面的例子创建了一个实心的绿方框:+展开-ActionScriptsampleSprite..

7.11.绘制星形

评论(0)浏览(91)分类:flash/flex/fcs/AIR
7.11.绘制星形问题我要画出星形解决办法使用Pen.drawStar( )方法讨论Pen.drawStar( )方法可以让你快速画出一个星形,它接受如下参数:x星形中心的x坐标y星形中心的y坐标points星形的顶点数innerRadius内半径outerRadius外半径rotation旋转角度,默认为0,下面的例子画了个五顶点的星形:+展开-ActionScriptvarpen:Pen=newPen(sampleSprite.graphics);pen.draw..

7.10.画出规则的多边形

评论(0)浏览(105)分类:flash/flex/fcs/AIR
7.10.画出规则的多边形问题我要画出规则的多边形(所有的边相等)解决办法使用Pen.drawRegularPolygon( )方法讨论利用基本的三角数学也能画出规则的多边形,但是那样可能会花很多代码,用pen类的drawRegularPolygon( )方法就很简单了。drawRegularPolygon( ) 接受5个参数,如下:x多边形中心的x坐标y多边形中心的y坐标sides多边形边数length边长度rotation旋转角度用下..

7.9.画一个三角形

评论(0)浏览(121)分类:flash/flex/fcs/AIR
7.9.画一个三角形问题我要画一个三角形解决办法使用Pen.drawTriangle( )方法讨论给出两条边的长度和夹角就能确定一个三角形。Pen类的drawTriangle( )方法就是基于此算法。它接受6个参数,如下:x夹角点的x坐标y夹角点的y坐标aba(夹角点)到b的长度aca(夹角点)到c的长度angleab与ac的夹角rotation三角形的旋转角度。如果是0或undefined,那么ac平行于x轴。一旦..

7.8.画一个椭圆

评论(0)浏览(127)分类:flash/flex/fcs/AIR
7.8.画一个椭圆问题我要画一个椭圆解决办法使用Pen.drawEllipse( )方法讨论画椭圆比画圆就抽象多了,而且Graphics类没提供画椭圆的方法(原书错误,系统有提供的),使用Pen类的drawEllipse( )方法是比较简单的方法,它需要四个参数:x椭圆中心的x坐标y椭圆中心的y坐标xRadius椭圆x方向的半径yRadius椭圆y方向的半径下面的代码定义了Pen对象并画出一个椭圆:+展..

7.7.画一个圆

评论(0)浏览(101)分类:flash/flex/fcs/AIR
7.7.画一个圆问题我要画一个圆解决办法使用Grahics.drawCircle( )方法讨论画圆就没有原始的方法可以用了,如果用理论算法画出每个像素点然后构成圆那太费时间了而且也不现实。还好Graphics类有个drawCircle( )方法可以简单的画出圆,drawCircle( )参数如下:x圆中心的x坐标y圆中心的y坐标radius圆半径下面画出了中心点在100,100,半径为50的圆:+展开-Actio..

7.6.画一个矩形

评论(0)浏览(104)分类:flash/flex/fcs/AIR
7.6.画一个矩形问题我要画一个矩形解决办法使用Graphics.drawRect( ) 方法画出直角矩形, Graphics.drawRoundRect( ) 或Graphics.drawRoundRectComplex( )方法画出圆角矩形。讨论要画一个简单的矩形可用lineTo( )方法画出四条线段:+展开-ActionScript//指定1像素,实心的黑线sampleSprite.graphics.lineStyle(1,0,100);//画出四线段sampleSprite.graphics.lin..

7.5.画一条扇形

评论(0)浏览(88)分类:flash/flex/fcs/AIR
7.5.画一条扇形问题我要画一条弧线解决办法使用Pen.drawArc( )方法讨论扇形是圆的一部分,它比curveTo( )方法要困难的多,不过使用Pen.drawArc( )方法,你可以画出任意半径和长度的扇形,drawArc( )方法接受以下参数:x扇形中心的x坐标(圆的中心)y扇形中心的y坐标radius扇形半径arc扇形度数,指定为角度startingAngle扇形开始角度,默认为0radialLines布尔值..

7.4.画一条曲线

评论(0)浏览(116)分类:flash/flex/fcs/AIR
7.4.画一条曲线问题我要画一条曲线解决办法使用Graphics.curveTo( ) 方法讨论设置好了线条样式后,就可以使用curveTo( ) 方法画曲线了。curveTo( ) 方法画出接近于贝塞尔曲线(虽然是经过性能优化),它需要3点,开始点,控制点和目标点:开始点一般是笔刷的当前位置。指定曲线的目标终点。控制点决定曲线的形状,它是根据起始点和目标点的切线计算出的。如果不..

7.3.画一条线

评论(0)浏览(117)分类:flash/flex/fcs/AIR
7.3.画一条线问题我要用ActionScript画一条线。解决办法使用Graphics.lineTo( )方法从当前位置到目标位置画一条线讨论画一条直线是最基本的绘图,Flash把鼠标当前位置作为起点,然后还需要个坐标作为目标点,使用Grahics.lineTo( )方法从当前位置到目标位置创建一条直线。+展开-ActionScript//从当前到(100,100)画一条直线sampleSprite.graphics.lineTo(100,..

7.2.设置渐变线条样式

评论(0)浏览(96)分类:flash/flex/fcs/AIR
7.2.设置渐变线条样式问题我要画出渐变样式的线条解决办法使用Graphics.lineGradientStyle( )方法讨论lineGradientStyle( )方法允许你画出渐变色的线条。如果已经设置了基本的线条样式,可以调用ineGradientStyle( )应用渐变样式。它所需要的参数和beginGradientFill( )方法一样。

7.1.设置线条样式

评论(0)浏览(91)分类:flash/flex/fcs/AIR
7.1.设置线条样式问题我要设置线条样式解决办法使用lineStyle( )方法讨论在绘画之前,必须先设置Graphics对象的线条样式。如果你没设置,默认的线条样式为undefined而且线条和填充都不能被渲染。可使用Graphics对象的lineStyle( )方法设置。lineStyle( )方法接受多个参数,所以得参数都是可选的,他们都是:thickness定义线条的宽度,默认值为1,范围为0到255。如..

7.0.介绍

评论(0)浏览(112)分类:flash/flex/fcs/AIR
7.0.介绍在ActionScript中,我们可以通过编程画出Shape, Sprite, Button, 和MovieClip。每个类都有个graphics 属性,它是flash.display.Graphics 类实例。Graphics 类定义了一些绘图内容的API。这一章的讨论的基本上是如何使用Graphics类API。因为Shape, Sprite, Button, 和MovieClip 类已经定义了graphics 属性,它就是Graphics实例的引用,所以没有必要..

第七章.绘图和遮盖

评论(0)浏览(87)分类:flash/flex/fcs/AIR
第七章.绘图和遮盖7.0.介绍7.1.设置线条样式7.2.设置渐变线条样式7.3.画一条线7.4.画一条曲线7.5.画一条扇形7.6.画一个矩形7.7.画一个圆7.8.画一个椭圆7.9.画一个三角形7.10.画出规则的多边形7.11.绘制星形7.12.用实心和半透明来填充图形7.13.用渐变色填充图形7.14.用位图填充图形7.15.编写遮罩

6.9.用鼠标拖拽对象

评论(0)浏览(192)分类:flash/flex/fcs/AIR
6.9.用鼠标拖拽对象问题我想要用鼠标随意拖动对象解决办法使用Sprite 的startDrop( ), stopDrag( ) 和dropTarget 实现拖拽效果。另外也可以继承ascb.display.DraggableSprite 类,使用drag( )和drop( ) 方法。讨论创建拖动效果并不是想象的那么困难。Sprite 类包括了这些拖动的方法,分别是startDrag( ) 和stopDrag( )。startDrag( ) 方法可在任何Sprite 实例上调用..

6.8.接收鼠标事件

评论(0)浏览(132)分类:flash/flex/fcs/AIR
6.8.接收鼠标事件问题我要让动画接收鼠标命令解决办法使用各种鼠标事件监听鼠标动作,并作出反应。使用DisplayObject 实例的只读属性mouseX 和mouseY检查鼠标相对位置,或者MouseEvent事件的localX 和localY 属性。讨论6.5节讨论的SimpleButton 类已经实现了最基本的鼠标交互。SimpleButton 类提供了简单的方法利用不同的对象状态创建鼠标交互按钮。但是鼠标事件..

6.7.载入外部swf文件并与之交互

评论(0)浏览(148)分类:flash/flex/fcs/AIR
6.7.载入外部swf文件并与之交互问题我要载入而且控制外部的SWF文件解决办法使用Loader 类载入.swf 文件,然后通过Loader实例的content 属性访问讨论6.6节演示了如何通过Loader 类载入外部图片资源,载入swf 文件也是同样的方法,通过load( )方法,然后传递一个.swf文件的URL。我们创建两个独立的.swf文件:ExternalMovie.swf 和LoaderExample.swf。第一个稍后要被载入到第二个..

6.6.动态载入外部图片

评论(0)浏览(89)分类:flash/flex/fcs/AIR
6.6.动态载入外部图片问题我要在Flash运行时动态载入图片解决办法使用新的Loader类载入图片(jpg,png,gif)讨论9.17节将展示如何在编译期通过[Embed] 元数据标签绑定外部文件到Flash。在运行期间载入外部图片或flash需要用到Loader 类。flash.display.Loader 类非常类似于flash.net.URLLoader 类(19.3节讨论)。不同的是Loader 实例能载入外部图片和flash,在传输..

6.5.创建简单的按钮

评论(1)浏览(106)分类:flash/flex/fcs/AIR
6.5.创建简单的按钮问题我想创建一个交互式按钮,点击鼠标执行一段代码,比如发送表单或计算结果解决办法创建SimpleButton 类实例和创建upState, downState, overState, 和hitTestState等对象。当用户点击按钮时用click事件激活方法讨论可视化对象列表模型提供一种简单的方法通过SimpleButton 类创建按钮。SimpleButton 类允许用户用鼠标和可视化对象进行交互,通过..

6.4.创建自定义可视化类

评论(0)浏览(75)分类:flash/flex/fcs/AIR
6.4.创建自定义可视化类问题我要创建新的可视化类解决办法继承DisplayObject 或它的子类来创建新类讨论基于新的可视化对象列表模型创建新的类是非常方便的。这在过去,只有继承MovieClip 才能创建新的类,现在完全不同了,新的可视化模型处理起来更简单,用ActionScript代码可以做更多的事情了。新的可视化模型,正如介绍里讨论过的那样,现在除了MovieClip.还有很多可..

6.3.向前或向后移动对象

评论(0)浏览(108)分类:flash/flex/fcs/AIR
6.3.向前或向后移动对象问题我要改变对象在屏幕上的显示顺序解决办法使用DisplayObectContainer 类的setChildIndex( ) 方法改变项目的位置,getChildIndex( ) 和getChildAt( ) 方法得到项目在显示列表中的位置讨论6.1 节和6.2 节介绍了可视化对象列表如何处理堆栈顺序( 深度), 基本上每个DisplayObjectContainer 实例都有一个子对象列表,列表中子对象的顺序代表在屏..

6.2.从显示列表中删除项目

评论(0)浏览(105)分类:flash/flex/fcs/AIR
6.2.从显示列表中删除项目问题我要从可视化对象列表删除可视化对象,从屏幕上消失。解决办法使用DisplayObectContainer类的removeChild( )和removeChildAt( )方法讨论6.1节讨论了如何使用addChild( )和addChildAt( ) 方法添加可视化对象到可视化对象列表中。与此相反removeChild( )和removeChildAt( ) 方法删除对象。removeChild( ) 方法需要一个参数,那就是将要删除的对..

6.1.在可视化对象列表中添加项目

评论(0)浏览(73)分类:flash/flex/fcs/AIR
6.1.在可视化对象列表中添加项目问题我要添加新的可视化对象在屏幕上显示解决办法使用DisplayObectContainer类的addChild( ) 和addChildAt( ) 方法讨论Flash Player 现在把ActionScript 虚拟机(AVM)和渲染引擎两块功能集成在一起了。AVM 完成执行ActionScript 代码,而渲染引擎负责在屏幕上绘制对象,绘制对象需要两步骤:通过ActionScript引擎创建可视化对象。渲染引擎把可视化..

6.0.简介

评论(0)浏览(60)分类:flash/flex/fcs/AIR
6.0.简介ActionScript 3.0 和Flash Player 9 的渲染模型已经和以前的版本有很大不同。以前MovieClip是渲染的焦点。swf 电影的根节点就是MovieClip (现在用Stage). 根节点MovieClip 可以包含子节点MovieClips, 子节点还可包含更多的子节点MovieClips。这样的层次结构用来控制MovieClips 的绘制(深度越深表示显示在最顶层)。createEmptyMovieClip( ), a..

第六章.可视化对象列表

评论(0)浏览(72)分类:flash/flex/fcs/AIR
第六章.可视化对象列表6.0.简介6.1.在可视化对象列表中添加项目6.2.从显示列表中删除项目6.3.向前或向后移动对象6.4.创建自定义可视化类6.5.创建简单的按钮6.6.动态载入外部图片6.7.载入外部swf文件并与之交互6.8.接收鼠标事件6.9.用鼠标拖拽对象

5.16.读取关联数组

评论(0)浏览(95)分类:flash/flex/fcs/AIR
5.16.读取关联数组问题我要怎样遍历关联数组解决办法使用for . . . in 语句讨论基于整形下标的数组可以通过for 语句进行循环遍历,但是,用关键字作索引的关联数组就不能这样遍历了,还好,关联数组可以通过for . . . in 语句进行遍历访问。该语句会访问指定对象所有可用的属性,语法如下:+展开-ActionScriptfor(keyinobject){//Actions}for . . . in 语句不需要..

5.15.创建关联数组

评论(0)浏览(97)分类:flash/flex/fcs/AIR
5.15.创建关联数组问题我要创建用名称元素作为索引的数组解决办法创建关联数组讨论用关联数组其每个元素都有特定的含义,这一点原来的数组类型是做不到的。+展开-ActionScriptvaraMembers:Array=newArray("Franklin","Gina","Sindhu");关联数组在其他的语言叫做哈希表,在ActionScript 里它就是Object 类的一个实例,关联数组使用名称元素来代替数字下标,该名称也..