Flash ActionScript 30 语言和组件参考Graphics.docx

上传人:b****4 文档编号:24296733 上传时间:2023-05-26 格式:DOCX 页数:60 大小:224.54KB
下载 相关 举报
Flash ActionScript 30 语言和组件参考Graphics.docx_第1页
第1页 / 共60页
Flash ActionScript 30 语言和组件参考Graphics.docx_第2页
第2页 / 共60页
Flash ActionScript 30 语言和组件参考Graphics.docx_第3页
第3页 / 共60页
Flash ActionScript 30 语言和组件参考Graphics.docx_第4页
第4页 / 共60页
Flash ActionScript 30 语言和组件参考Graphics.docx_第5页
第5页 / 共60页
点击查看更多>>
下载资源
资源描述

Flash ActionScript 30 语言和组件参考Graphics.docx

《Flash ActionScript 30 语言和组件参考Graphics.docx》由会员分享,可在线阅读,更多相关《Flash ActionScript 30 语言和组件参考Graphics.docx(60页珍藏版)》请在冰豆网上搜索。

Flash ActionScript 30 语言和组件参考Graphics.docx

FlashActionScript30语言和组件参考Graphics

flash.display

publicfinalclassGraphics

继承

Graphics

Object

语言版本:

 

ActionScript3.0

运行时版本:

 

AIR1.0,FlashPlayer9

Graphics类包含一组可用来创建矢量形状的方法。

支持绘制的显示对象包括Sprite和Shape对象。

这些类中的每一个类都包括graphics属性,该属性是一个Graphics对象。

以下是为便于使用而提供的一些辅助函数:

drawRect()、drawRoundRect()、drawCircle()和drawEllipse()。

无法通过ActionScript代码直接创建Graphics对象。

如果调用newGraphics(),则会引发异常。

Graphics类是最终类;无法从其派生子类。

查看示例

 

公共属性

隐藏继承的公共属性

显示继承的公共属性

 

属性

定义方

 

constructor:

Object

对类对象或给定对象实例的构造函数的引用。

Object

 

prototype:

Object

[静态]对类或函数对象的原型对象的引用。

Object

公共方法

隐藏继承的公共方法

显示继承的公共方法

 

方法

定义方

 

 

beginBitmapFill(bitmap:

BitmapData,matrix:

Matrix=null,repeat:

Boolean=true,smooth:

Boolean=false):

void

用位图图像填充绘图区。

Graphics

 

 

beginFill(color:

uint,alpha:

Number=1.0):

void

指定一种简单的单一颜色填充,FlashPlayer可将该填充用于随后调用对象的其它Graphics方法(如lineTo()或drawCircle())。

Graphics

 

 

beginGradientFill(type:

String,colors:

Array,alphas:

Array,ratios:

Array,matrix:

Matrix=null,spreadMethod:

String="pad",interpolationMethod:

String="rgb",focalPointRatio:

Number=0):

void

指定一种渐变填充,用于随后调用对象的其他Graphics方法(如lineTo()或drawCircle())。

Graphics

 

 

beginShaderFill(shader:

Shader,matrix:

Matrix=null):

void

指定一个着色器填充,供FlashPlayer用于对该对象的其他Graphics方法(如lineTo()或drawCircle())的后续调用。

Graphics

 

 

clear():

void

清除绘制到此Graphics对象的图形,并重置填充和线条样式设置。

Graphics

 

 

copyFrom(sourceGraphics:

Graphics):

void

将源Graphics对象中的所有绘画命令复制到执行调用的Graphics对象中。

Graphics

 

 

curveTo(controlX:

Number,controlY:

Number,anchorX:

Number,anchorY:

Number):

void

使用当前线条样式和由(controlX,controlY)指定的控制点绘制一条从当前绘画位置开始到(anchorX,anchorY)结束的曲线。

Graphics

 

 

drawCircle(x:

Number,y:

Number,radius:

Number):

void

绘制一个圆。

Graphics

 

 

drawEllipse(x:

Number,y:

Number,width:

Number,height:

Number):

void

绘制一个椭圆。

Graphics

 

 

drawGraphicsData(graphicsData:

Vector.):

void

提交一系列IGraphicsData实例来进行绘图。

Graphics

 

 

drawPath(commands:

Vector.,data:

Vector.,winding:

String="evenOdd"):

void

提交一系列绘制命令。

Graphics

 

 

drawRect(x:

Number,y:

Number,width:

Number,height:

Number):

void

绘制一个矩形。

Graphics

 

 

drawRoundRect(x:

Number,y:

Number,width:

Number,height:

Number,ellipseWidth:

Number,ellipseHeight:

Number=NaN):

void

绘制一个圆角矩形。

Graphics

 

 

drawTriangles(vertices:

Vector.,indices:

Vector.=null,uvtData:

Vector.=null,culling:

String="none"):

void

呈现一组三角形(通常用于扭曲位图),并为其指定三维外观。

Graphics

 

 

endFill():

void

对从上一次调用beginFill()、beginGradientFill()或beginBitmapFill()方法之后添加的直线和曲线应用填充。

Graphics

 

hasOwnProperty(name:

String):

Boolean

指示对象是否已经定义了指定的属性。

Object

 

isPrototypeOf(theClass:

Object):

Boolean

指示Object类的实例是否在指定为参数的对象的原型链中。

Object

 

 

lineBitmapStyle(bitmap:

BitmapData,matrix:

Matrix=null,repeat:

Boolean=true,smooth:

Boolean=false):

void

指定一个位图,用于绘制线条时的线条笔触。

Graphics

 

 

lineGradientStyle(type:

String,colors:

Array,alphas:

Array,ratios:

Array,matrix:

Matrix=null,spreadMethod:

String="pad",interpolationMethod:

String="rgb",focalPointRatio:

Number=0):

void

指定一种渐变,用于绘制线条时的笔触。

Graphics

 

 

lineShaderStyle(shader:

Shader,matrix:

Matrix=null):

void

指定一个着色器以用于绘制线条时的线条笔触。

Graphics

 

 

lineStyle(thickness:

Number=NaN,color:

uint=0,alpha:

Number=1.0,pixelHinting:

Boolean=false,scaleMode:

String="normal",caps:

String=null,joints:

String=null,miterLimit:

Number=3):

void

指定一种线条样式以用于随后对lineTo()或drawCircle()等Graphics方法的调用。

Graphics

 

 

lineTo(x:

Number,y:

Number):

void

使用当前线条样式绘制一条从当前绘画位置开始到(x,y)结束的直线;当前绘画位置随后会设置为(x,y)。

Graphics

 

 

moveTo(x:

Number,y:

Number):

void

将当前绘画位置移动到(x,y)。

Graphics

 

propertyIsEnumerable(name:

String):

Boolean

指示指定的属性是否存在、是否可枚举。

Object

 

setPropertyIsEnumerable(name:

String,isEnum:

Boolean=true):

void

设置循环操作动态属性的可用性。

Object

 

toString():

String

返回指定对象的字符串表示形式。

Object

 

valueOf():

Object

返回指定对象的原始值。

Object

方法详细信息

beginBitmapFill

()

方法

publicfunctionbeginBitmapFill(bitmap:

BitmapData,matrix:

Matrix=null,repeat:

Boolean=true,smooth:

Boolean=false):

void

语言版本:

 

ActionScript3.0

运行时版本:

 

AIR1.0,FlashPlayer9

用位图图像填充绘图区。

可以重复或平铺位图以填充该区域。

该填充将保持有效,直到您调用beginFill()、beginBitmapFill()、beginGradientFill()或beginShaderFill()方法。

调用clear()方法会清除填充。

只要绘制3个或3个以上的点或调用endFill()方法,FlashPlayer就会呈现填充。

参数

bitmap:

BitmapData—包含要显示的位的透明或不透明位图图像。

 

matrix:

Matrix(default=null)—一个matrix对象(属于flash.geom.Matrix类),您可以使用它在位图上定义转换。

例如,可以使用以下矩阵将位图旋转45度(pi/4弧度):

matrix=newflash.geom.Matrix();

matrix.rotate(Math.PI/4);

 

repeat:

Boolean(default=true)—如果为true,则位图图像按平铺模式重复。

如果为false,位图图像不会重复,并且位图边缘将用于所有扩展出位图的填充区域。

例如,请考虑下列位图(20x20像素的棋盘图案):

当repeat设置为true时(如下例所示),位图填充将重复位图:

repeat设置为false时,位图填充将对位图外部的填充区域使用边缘像素:

 

smooth:

Boolean(default=false)—如果为false,则使用最近邻点算法来呈现放大的位图图像,而且该图像看起来是像素化的。

如果为true,则使用双线性算法来呈现放大的位图图像。

使用最近邻点算法呈现较快。

另请参见

endFill()

beginFill()

beginGradientFill()

示例

下面的示例使用一个图像(image1.jpg),它不断旋转并反复填充一个矩形。

1.使用Loader和URLRequest对象加载此图像文件(image1.jpg)。

此处,该文件位于与SWF文件相同的目录中。

需要编译SWF文件,并将“本地回放安全性”设置为“只访问本地文件”。

2.在加载图像后(Event为complete),将调用drawImage()方法。

如果未正确加载图像,ioErrorHandler()方法将写入跟踪注释。

3.在drawImage()方法中,将实例化BitmapData对象,并将其宽度和高度设置为图像(image1.jpg)的宽度和高度。

然后,将源图像绘制到BitmapData对象中。

接下来,在mySpriteSprite对象中绘制一个矩形,并使用BitmapData对象对其进行填充。

通过使用Matrix对象,beginBitmapFill()方法将图像旋转45度,然后开始使用图像填充矩形,直至完成时为止。

package{

importflash.display.Sprite;

importflash.display.BitmapData;

importflash.display.Loader;

import.URLRequest;

importflash.events.Event;

importflash.events.IOErrorEvent;

importflash.geom.Matrix;

publicclassGraphics_beginBitmapFillExampleextendsSprite{

privatevarurl:

String="image1.jpg";

privatevarloader:

Loader=newLoader();

publicfunctionGraphics_beginBitmapFillExample(){

varrequest:

URLRequest=newURLRequest(url);

loader.load(request);

loader.contentLoaderInfo.addEventListener(Event.COMPLETE,drawImage);

loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,ioErrorHandler);

}

privatefunctiondrawImage(event:

Event):

void{

varmySprite:

Sprite=newSprite();

varmyBitmap:

BitmapData=newBitmapData(loader.width,loader.height,false);

myBitmap.draw(loader,newMatrix());

varmatrix:

Matrix=newMatrix();

matrix.rotate(Math.PI/4);

mySprite.graphics.beginBitmapFill(myBitmap,matrix,true);

mySprite.graphics.drawRect(100,50,200,90);

mySprite.graphics.endFill();

addChild(mySprite);

}

privatefunctionioErrorHandler(event:

IOErrorEvent):

void{

trace("Unabletoloadimage:

"+url);

}

}

}

beginFill

()

方法

 

publicfunctionbeginFill(color:

uint,alpha:

Number=1.0):

void

语言版本:

 

ActionScript3.0

运行时版本:

 

AIR1.0,FlashPlayer9

指定一种简单的单一颜色填充,FlashPlayer可将该填充用于随后调用对象的其它Graphics方法(如lineTo()或drawCircle())。

该填充将保持有效,直到您调用beginFill()、beginBitmapFill()、beginGradientFill()或beginShaderFill()方法。

调用clear()方法会清除填充。

只要绘制3个或3个以上的点或调用endFill()方法,FlashPlayer就会呈现填充。

参数

color:

uint—填充的颜色(0xRRGGBB)。

 

alpha:

Number(default=1.0)—填充的Alpha值(从0.0到1.0)。

另请参见

endFill()

beginBitmapFill()

beginGradientFill()

示例

如何使用示例

有关如何使用此方法的说明,请参阅此类末尾的示例。

beginGradientFill

()

方法

 

publicfunctionbeginGradientFill(type:

String,colors:

Array,alphas:

Array,ratios:

Array,matrix:

Matrix=null,spreadMethod:

String="pad",interpolationMethod:

String="rgb",focalPointRatio:

Number=0):

void

语言版本:

 

ActionScript3.0

运行时版本:

 

AIR1.0,FlashPlayer9

指定一种渐变填充,用于随后调用对象的其他Graphics方法(如lineTo()或drawCircle())。

该填充将保持有效,直到您调用beginFill()、beginBitmapFill()、beginGradientFill()或beginShaderFill()方法。

调用clear()方法会清除填充。

只要绘制3个或3个以上的点或调用endFill()方法,FlashPlayer就会呈现填充。

参数

type:

String—用于指定要使用哪种渐变类型的GradientType类的值:

GradientType.LINEAR或GradientType.RADIAL。

 

colors:

Array—渐变中使用的RGB十六进制颜色值的数组(例如,红色为0xFF0000,蓝色为0x0000FF,等等)。

可以至多指定15种颜色。

对于每种颜色,请在alphas和ratios参数中指定对应值。

 

alphas:

Array—colors数组中对应颜色的alpha值数组;有效值为0到1。

如果值小于0,则默认值为0。

如果值大于1,则默认值为1。

 

ratios:

Array—颜色分布比率的数组;有效值为0到255。

该值定义100%采样的颜色所在位置的宽度百分比。

值0表示渐变框中的左侧位置,255表示渐变框中的右侧位置。

注意:

此值表示渐变框中的位置,而不是最终渐变的坐标空间,最终渐变可能会比渐变框更宽或更窄。

为colors参数中的每个值指定一个值。

例如,对于包括蓝和绿两种颜色的线性渐变,下例显示了基于不同ratios数组值的渐变中的颜色配比:

数组中的值必须持续增加;例如,[0,63,127,190,255]。

 

matrix:

Matrix(default=null)—一个由flash.geom.Matrix类定义的转换矩阵。

flash.geom.Matrix类包括createGradientBox()方法,通过该方法可以方便地设置矩阵,以便与beginGradientFill()方法一起使用。

 

spreadMethod:

String(default="pad")—用于指定要使用哪种spread方法的SpreadMethod类的值:

SpreadMethod.PAD、SpreadMethod.REFLECT或SpreadMethod.REPEAT。

例如,请考虑两种颜色之间的简单线性渐变:

importflash.geom.*

importflash.display.*

varfillType:

String=GradientType.LINEAR;

varcolors:

Array=[0xFF0000,0x0000FF];

varalphas:

Array=[1,1];

varratios:

Array=[0x00,0xFF];

varmatr:

Matrix=newMatrix();

matr.createGradientBox(20,20,0,0,0);

varspreadMethod:

String=SpreadMethod.PAD;

this.graphics.beginGradientFill(fillType,colors,alphas,ratios,matr,spreadMethod);

this.graphics.drawRect(0,0,100,100);

此示例将SpreadMethod.PAD用于spread方法,并且渐变填充看起来将类似于下图:

如果将SpreadMethod.REFLECT用于spread方法,则渐变填充看起来将类似于下图:

如果将SpreadMethod.REPEAT用于spread方法,则渐变填充看起来将类似于下图:

 

interpolationMethod:

String(default="rgb")—用于指定要使用哪个值的InterpolationMethod类的值:

InterpolationMethod.LINEAR_RGB或InterpolationMethod.RGB

例如,假设有两种颜色之间的简单线性渐变(spreadMethod参数设置为SpreadMethod.REFLECT)。

不同的插值方法对外观的影响如下所示:

 

focalPointRatio:

Number(default=0)—一个控制渐变的焦点位置的数字。

0表示焦点位于中心。

1表示焦点位于渐变圆的一条边界上。

-1表示焦点位于渐变圆的另一条边界上。

小于-1或大于1的值将舍入为-1或1。

例如,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 实习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1