8.5.处理象素

评论(0)浏览(102)分类:flash/flex/fcs/AIR
8.5.处理象素问题我要读取和设置位图的单个象素解决办法使用BitmapData类的getPixel( ), setPixel( ), getPixel32( ),和setPixel32( ) 方法讨论在ActionScript 3.0里设置和读取象素是很简单的。要读取象素值只要指定象素x,y坐标给getPixel()方法就可以了。设置象素,只要把坐标和颜色值传给setPixel()方法。getPixel( ) 和setPixel( ) 方法是专门为不透明的..

8.4.载入外部图片到位图上

评论(0)浏览(108)分类:flash/flex/fcs/AIR
8.4.载入外部图片到位图上问题我要载入外部图片作为BitmapData处理解决办法使用flash.display.Loader 类载入图片,当图片载入完成时,通过loader的content 属性property,它就是个Bitmap。访问Bitmap的bitmapData 属性就在访问载入的图片讨论通过Loader类载入外部位图。通过URLRequest 对象和位图的URL,监听loader的complete事件确定是否载入完成:+展开-ActionScriptpa..

8.3.绘制可视化对象到位图上

评论(0)浏览(119)分类:flash/flex/fcs/AIR
8.3.绘制可视化对象到位图上问题我想把Sprite或其他显示对象上的内容绘制到位图上解决办法用BitmapData类的draw( )方法绘制内容讨论创建好的BitmapData,只是简单的黑色背景。你可能会把在sprite或其他可视化对象上已画好的图形内容画到位图上,用draw( )方法就能做到,你只要把相关对象作为draw( )的参数就可以了,也可以把flash.geom.Matrix类实例作为参数,Matrix类允许..

8.2.添加位图到可视化对象列表

评论(0)浏览(78)分类:flash/flex/fcs/AIR
8.2.添加位图到可视化对象列表问题我要创建BitmapData 并显示它解决办法使用BitmapData 创建位图,并加入到可视化对象列表。讨论在ActionScript 3.0里要让对象可视,则必须加入到可视化对象列表中才行,然而addChild( ) 方法添加的对象必须是flash.display.DisplayObject的子类才行,而BitmapData 类继承自Object,所以不能直接加到列表中。要加到可视化对象列表中,可使用fl..

8.1.创建BitmapData对象

评论(0)浏览(108)分类:flash/flex/fcs/AIR
8.1.创建BitmapData对象问题我要在程序里创建位图解决办法使用BitmapData类构造一个新的BitmapData对象讨论BitmapData类表示一个由象素组成的位图,包含了很多内建的方法控制和处理图像。第一步先创建该类实例:+展开-ActionScriptvarbitmap:BitmapData=newBitmapData(width,height,transparent,fillColor);该类在flash.display包中,width和height 参数指定位图的宽度..

8.0.简介

评论(0)浏览(94)分类:flash/flex/fcs/AIR
8.0.简介和Flash 8 中的BitmapData类一样,这是非常重要的一个类,起初,Flash只是基于矢量的一个工具,矢量图形是由数学方法描述图形元素,比如一条直线是从x0, y0 扩展到x1, y1。而一个位图,它把图形描述为一个矩形区域值集合,每个点都对应一个颜色值。矢量图有两大优势:缩放和文件大小。当你缩放矢量图时,图像总能保持清晰,而位图当放大时就会出..

第八章.位图

评论(0)浏览(74)分类:flash/flex/fcs/AIR
第八章.位图8.0.简介8.1.创建BitmapData对象8.2.添加位图到可视化对象列表8.3.绘制可视化对象到位图上8.4.载入外部图片到位图上8.5.处理象素8.6.创建矩形填充8.7.创建一个充溢填充8.8.拷贝象素8.9.拷贝通道8.10.创建噪波图案8.11.创建布林噪波8.12.使用阈值8.13.在位图上应用滤镜8.14.在两幅位图之间转换8.15.滚动位图

7.15.编写遮罩

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

7.14.用位图填充图形

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

7.13.用渐变色填充图形

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

7.9.画一个三角形

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

7.7.画一个圆

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

7.6.画一个矩形

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

7.3.画一条线

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

7.0.介绍

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

6.8.接收鼠标事件

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

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

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

6.4.创建自定义可视化类

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