flash actionscript3.0 beginGradientFill渐变填充 水晶按钮制作
2011-09-04 23:35
441 查看
flash actionscript3.0 beginGradientFill渐变填充 水晶按钮制作
public beginGradientFill(fillType:String, colors:Array, alphas:Array, ratios:Array, matrix:Object, [spreadMethod:String], [interpolationMethod:String], [focalPointRatio:Number]) : Void
fillType:String ― 有效值为字符串"linear"和字符串"radial"。
colors:Array ― 用于渐变色的 RGB 十六进制颜色值的数组;例如,红色为 0xFF0000,蓝色为 0x0000FF。可以至多指定 15 种颜色。对于每种颜色,请确保在
alphas 和 ratios 参数中指定对应值。
alphas:Array ―
colors 数组中对应颜色的 Alpha 值数组;有效值为 0 到 100。如果值小于 0,则 Flash 使用 0。如果值大于 100,则 Flash 使用 100。
ratios:Array ― 颜色分布比例数组;有效值为 0 到 255。该值定义颜色采样率为 100% 之处的宽度百分比。为
colors 参数中的每个值指定一个值。
例如,对于包含蓝和绿两种颜色的线性渐变,下图显示了基于不同 ratios 数组值的颜色配比:
主要是两种线性填充和放射填充
GradientType.RADIAL 放射
GradientType.LINEAR 线性
var colors:Array=[0xA7E600,0x078914,0x00552F];
var alphas:Array=[1,1,1]; //注意是0到1之间的 和颜色对应。
var ratios:Array=[0x00,0xff,0xff];
ui/uBall.as文件ui目录下uBall.as文件
package ui
{
import flash.display.Sprite;
import flash.geom.*;
import flash.filters.*;
import flash.display.SpreadMethod;
import flash.display.DisplayObject;
import flash.geom.*;
import flash.display.*;
public class uBall extends Sprite
{
private var earth,moon:Sprite=new Sprite();//创建容器
public function uBall()
{
var matrix:Matrix=new Matrix();
matrix.createGradientBox(100,100,0,0,0);
matrix.translate(-50,-35);
var colors:Array=[0xA7E600,0x078914,0x00552F];
var alphas:Array=[1,1,1];
var ratios:Array=[0x00,0xff,0xff];
earth=new Sprite();
earth.graphics.lineStyle();
earth.graphics.beginGradientFill(GradientType.RADIAL,colors,alphas,ratios,matrix);
earth.graphics.drawCircle(0,0,50);
earth.graphics.endFill();
//加入帧事件
addChild(earth);
var mySprite:Sprite =new Sprite();
var color:Array=[0xFFFFFF, 0xFFFFFF];//设置颜色数组
var alphaAr:Array=[0.8, 0];//透明度数组
var rotios:Array=[0x33,0xff];//偏移量,数组
var matix:Matrix =new Matrix()//矩阵
matix.createGradientBox(100,100,0,0,0);
matix.translate(-50,-25);
matix.rotate(1.20);
mySprite.graphics .beginGradientFill(GradientType.LINEAR,color,alphaAr,rotios,matix)
mySprite.graphics.drawCircle(0,0,46);//比原来圆小4个像素
addChild(mySprite);
var gao:Sprite =new Sprite();
var colorg:Array=[0xFFFFFF, 0xFFFFFF];//设置颜色数组
var alphag:Array=[0.3, 0];//透明度数组
var rotiog:Array=[0xcc,0xff];//偏移量,数组
var matixg:Matrix =new Matrix()//矩阵
matixg.createGradientBox(100,100,0,0,0);
matix.translate(-50,-50);
matixg.rotate(1.57);
gao.graphics .beginGradientFill(GradientType.LINEAR,colorg,alphag,rotiog,matixg)
gao.graphics.drawEllipse(-25,-40,50,25);
addChild(gao);
}
}
}
注意:uBall文件里面不要有下面stage,不然会new不出来,报错
stage.stageWidth;
stage.stageHeight;
主文件
package
{
import flash.display.Sprite;
import flash.events.Event;
import ui.uBall;
public class hu extends Sprite
{
public function hu()
{
//把uBall封装类new一个
var bb:Sprite=new uBall();
addChild(bb);
bb.x=200;
bb.y=200;
addEventListener(Event.ENTER_FRAME,Run);
}
public function Run(e:Event):void{
}
}
}
public beginGradientFill(fillType:String, colors:Array, alphas:Array, ratios:Array, matrix:Object, [spreadMethod:String], [interpolationMethod:String], [focalPointRatio:Number]) : Void
fillType:String ― 有效值为字符串"linear"和字符串"radial"。
colors:Array ― 用于渐变色的 RGB 十六进制颜色值的数组;例如,红色为 0xFF0000,蓝色为 0x0000FF。可以至多指定 15 种颜色。对于每种颜色,请确保在
alphas 和 ratios 参数中指定对应值。
alphas:Array ―
colors 数组中对应颜色的 Alpha 值数组;有效值为 0 到 100。如果值小于 0,则 Flash 使用 0。如果值大于 100,则 Flash 使用 100。
ratios:Array ― 颜色分布比例数组;有效值为 0 到 255。该值定义颜色采样率为 100% 之处的宽度百分比。为
colors 参数中的每个值指定一个值。
例如,对于包含蓝和绿两种颜色的线性渐变,下图显示了基于不同 ratios 数组值的颜色配比:
主要是两种线性填充和放射填充
GradientType.RADIAL 放射
GradientType.LINEAR 线性
var colors:Array=[0xA7E600,0x078914,0x00552F];
var alphas:Array=[1,1,1]; //注意是0到1之间的 和颜色对应。
var ratios:Array=[0x00,0xff,0xff];
ratios | 渐变 |
---|---|
[0, 127] | |
[0, 255] | |
[127, 255] |
package ui
{
import flash.display.Sprite;
import flash.geom.*;
import flash.filters.*;
import flash.display.SpreadMethod;
import flash.display.DisplayObject;
import flash.geom.*;
import flash.display.*;
public class uBall extends Sprite
{
private var earth,moon:Sprite=new Sprite();//创建容器
public function uBall()
{
var matrix:Matrix=new Matrix();
matrix.createGradientBox(100,100,0,0,0);
matrix.translate(-50,-35);
var colors:Array=[0xA7E600,0x078914,0x00552F];
var alphas:Array=[1,1,1];
var ratios:Array=[0x00,0xff,0xff];
earth=new Sprite();
earth.graphics.lineStyle();
earth.graphics.beginGradientFill(GradientType.RADIAL,colors,alphas,ratios,matrix);
earth.graphics.drawCircle(0,0,50);
earth.graphics.endFill();
//加入帧事件
addChild(earth);
var mySprite:Sprite =new Sprite();
var color:Array=[0xFFFFFF, 0xFFFFFF];//设置颜色数组
var alphaAr:Array=[0.8, 0];//透明度数组
var rotios:Array=[0x33,0xff];//偏移量,数组
var matix:Matrix =new Matrix()//矩阵
matix.createGradientBox(100,100,0,0,0);
matix.translate(-50,-25);
matix.rotate(1.20);
mySprite.graphics .beginGradientFill(GradientType.LINEAR,color,alphaAr,rotios,matix)
mySprite.graphics.drawCircle(0,0,46);//比原来圆小4个像素
addChild(mySprite);
var gao:Sprite =new Sprite();
var colorg:Array=[0xFFFFFF, 0xFFFFFF];//设置颜色数组
var alphag:Array=[0.3, 0];//透明度数组
var rotiog:Array=[0xcc,0xff];//偏移量,数组
var matixg:Matrix =new Matrix()//矩阵
matixg.createGradientBox(100,100,0,0,0);
matix.translate(-50,-50);
matixg.rotate(1.57);
gao.graphics .beginGradientFill(GradientType.LINEAR,colorg,alphag,rotiog,matixg)
gao.graphics.drawEllipse(-25,-40,50,25);
addChild(gao);
}
}
}
注意:uBall文件里面不要有下面stage,不然会new不出来,报错
stage.stageWidth;
stage.stageHeight;
主文件
package
{
import flash.display.Sprite;
import flash.events.Event;
import ui.uBall;
public class hu extends Sprite
{
public function hu()
{
//把uBall封装类new一个
var bb:Sprite=new uBall();
addChild(bb);
bb.x=200;
bb.y=200;
addEventListener(Event.ENTER_FRAME,Run);
}
public function Run(e:Event):void{
}
}
}
相关文章推荐
- 渐变填充beginGradientFill或者lineGradientStyle的参数说明
- Blend 制作水晶按钮
- CSS3制作3D水晶糖果按钮
- Photoshop使用教程:制作简单的水晶导航按钮
- 用PPT制作圆形水晶按钮
- CSS3制作3D水晶糖果按钮
- 使用CSS3制作水晶按钮
- 利用.NET绘图技术制作水晶按钮控件
- PhotoShop设计绘制出反光渐变的蓝色水晶玻璃球按钮教程
- Photoshop五步制作水晶按钮
- photoshop制作一个装水晶按钮的纸…
- 利用.NET绘图技术制作水晶按钮控件[转]
- ps制作水晶按钮_1-随心
- 如何制作渐变的按钮
- C#制作高仿360安全卫士窗体(四)- 水晶按钮
- 利用.Net绘图技术制作水晶按钮控件
- CCS3制作时尚美观的渐变按钮
- 通道&渐变——金属按钮制作
- C#制作高仿360安全卫士窗体(四)- 水晶按钮
- 按钮制作:渐变加投影