beginGradientFillを使用したグラデーションの作成 on 2010-1-29 komatsu forked:2favorite:3lines:45license : MIT License modified : 2010-01-28 22:38:36 Embed Tweet package { import flash.display.*; import flash.geom.*; [SWF(backgroundColor="#000000", frameRate=30)] public class RainbowGradetion extends Sprite { private var w:uint = stage.stageWidth-100; private var h:uint = stage.stageHeight-100; public function RainbowGradetion() { //グラデーションの種類 GradientType.LINEAR だと線状、GradientType.RADIALだと放射状 var fillType:String = GradientType.LINEAR; //各グラデーションコントロールの色 var colors:Array = [0xFF0000,0xFFFF00,0x00FF00,0x00FFFF,0x0000FF,0xFF00FF,0xFF0000]; //各グラデーションコントロールの不透明度 var alphas:Array = [1,1,1,1,1,1,1]; //0~255段階での割合 var ratios:Array = [0,39,91,125,168,210,255]; var matr:Matrix = new Matrix(); //Matrixを使用したグラデーションの設定 createGradientBox(横幅,縦幅,角度,Xのオフセット値,Yのオフセット値); matr.createGradientBox(w,h,0,0,0); var spreadMethod:String = SpreadMethod.PAD; var sp:Sprite = new Sprite(); sp.graphics.beginGradientFill(fillType, colors, alphas, ratios, matr, spreadMethod); sp.graphics.drawRect(0,0,w,h); addChild(sp); //ここまでが虹のグラデーション////////////////////////////////////////////////// //上部白グラデーション 白(アルファ100%)~白(アルファ0%) fillType = GradientType.LINEAR; colors = [0xFFFFFF,0xFFFFFF,0xFFFFFF]; alphas = [1,0.5,0]; ratios = [0,90,255]; matr = new Matrix(); matr.createGradientBox(w,h/2,90*Math.PI/180,0,0); spreadMethod = SpreadMethod.PAD; sp = new Sprite(); sp.graphics.beginGradientFill(fillType, colors, alphas, ratios, matr, spreadMethod); sp.graphics.drawRect(0,0,w,h); addChild(sp); //下部黒グラデーション 黒(アルファ0%)~黒(アルファ100%) fillType = GradientType.LINEAR; colors = [0x000000,0x000000,0x000000]; alphas = [0,0.5,1]; ratios = [0,90,255]; matr = new Matrix(); matr.createGradientBox(w,h/2,90*Math.PI/180,0,0); spreadMethod = SpreadMethod.PAD; sp = new Sprite(); sp.graphics.beginGradientFill(fillType, colors, alphas, ratios, matr, spreadMethod); sp.graphics.drawRect(0,0,w,h/2); sp.y = h/2; addChild(sp); } } } Code Fullscreen Preview Fullscreen pupoppy mntone : レインボーいいね! darman : graphics graphics レインボー spreadMethod ratios alphas colors SpreadMethod.PAD beginGradientFill drawRect createGradientBox GradientType.LINEAR Matrix addChild Math.PI stageWidth stageHeight String Array uint Sprite sort new page view favorite forked pv295 forked from: beginGradientFill.. xumo forked:0 favorite:0lines:45 (diff:3) pv0 forked from: beginGradientFill.. petton forked:0 favorite:0lines:22 (diff:49)