/**
* Copyright iong ( http://wonderfl.net/user/iong )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/wXyw
*/
package {
/*
8.23.2009 start。1%くらい
8.24.2009 20%くらい。案外いける
8.25.2009 50%くらい イラレより軽い気がする。現在3KB
8.27.2009 完成。9.5KB。フィルタかけてるのを考えるとイラレのswf出力より軽い
数日後見て冷静になったときに再調整かも
*/
import flash.display.Sprite;
public class FlashTest extends Sprite {
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.DisplayObject;
import flash.display.BlendMode;
import flash.display.Graphics;
import flash.display.GradientType;
import flash.display.SpreadMethod;
import flash.geom.Matrix;
import flash.filters.BlurFilter;
import flash.display.Stage;
import flash.display.StageScaleMode;
private var _spPic:Sprite = new Sprite();
private var aryGC:Array;
private var aryGA:Array;
private var aryGR:Array;
private var matG:Matrix;
// 輪郭色
private var clOutline:Number= 0x444455;
// 肌色
private var clSkin:Number = 0xffe6df;
private var clSkinSh:Number = 0xffd3cc;
[swf(width="465",height="465",bgcolor="#ffffff")]
public function FlashTest() {
// write as3 code here..
stage.scaleMode= StageScaleMode.NO_SCALE;
_spPic= drawPic();
addChild(_spPic);
}
private function drawPic():Sprite
{
var retVal:Sprite = new Sprite();
var pFace:Sprite = pFace();
var pBody:Sprite = pBody();
var pBack:Sprite = pBack();
var pArmR:Sprite = pArmR();
var pArmL:Sprite = pArmL();
var pHandR:Sprite = pHandR();
var pHandL:Sprite = pHandL();
var pShade:Sprite = pShade();
var pEff:Sprite = pEff();
retVal.addChild(pBack);
retVal.addChild(pBody);
retVal.addChild(pArmR);
retVal.addChild(pHandR);
retVal.addChild(pFace);
retVal.addChild(pHandL);
retVal.addChild(pArmL);
retVal.addChild(pShade);
retVal.addChild(pEff);
return retVal;
}
// ---------------------------
private function pFace():Sprite
{
var retVal:Sprite= new Sprite();
var pC1_1:Sprite = new Sprite();
var pC1_2:Sprite = new Sprite();
var pC2_1:Sprite = new Sprite();
var pC2_2:Sprite = new Sprite();
var pC3_1:Sprite = new Sprite();
var pC3_2:Sprite = new Sprite();
var pC3_3:Sprite = new Sprite();
var pC3_4:Sprite = new Sprite();
var pC4_1:Sprite = new Sprite();
var pC4_2:Sprite = new Sprite();
var pC4_3:Sprite = new Sprite();
// 輪郭
with(pC1_1.graphics){
beginFill(clOutline,1);
moveTo(-2,120);
curveTo(6,6,85,-2);
curveTo(156,-6, 157,115);
curveTo(149,206, 60,230);
curveTo(52,236, 25,229);
curveTo(8,213, -1,181);
curveTo(-7,160, -2,120);
}
pC1_1.x=5;
aryGC = [clSkin, clSkinSh];
aryGA = [1, 1];
aryGR = [0x66, 0xff];
matG = new Matrix();
matG.createGradientBox(160, 260, Math.PI/4*3, 0,0);
with(pC1_2.graphics){
beginGradientFill(GradientType.RADIAL, aryGC, aryGA, aryGR, matG, SpreadMethod.PAD, "rgb", 0.7);
moveTo(0,120);
curveTo(8,8, 85,0);
curveTo(155,-5, 155,115);
curveTo(147,205, 60,230);
curveTo(52,235, 25,228);
curveTo(10,212, 0,180);
curveTo(-5,160, 0,120);
}
pC1_2.x=5;
// 目鼻口
with(pC2_1.graphics){
beginFill(clOutline,1);
moveTo(0,0);
curveTo(35,-5, 55,5);
lineTo(53,10);
curveTo(30,-5,0,0);
moveTo(90,15);
curveTo(100,10, 150,14);
curveTo(105,15, 92,20);
moveTo(20,20);
lineTo(45,24);
curveTo(52,30, 52,38);
lineTo(45,33);
lineTo(41,30);
curveTo(20,20, 24,35);
curveTo(24,45, 33,45);
curveTo(24,45, 22,21);
moveTo(90,44);
lineTo(92,42);
lineTo(94,32);
curveTo(115,25, 124,30);
lineTo(120,43);
curveTo(130,38, 132,27);
curveTo(128,20, 90,30);
moveTo(53,82);
curveTo(65,90, 75,86);
curveTo(63,97, 53,82);
moveTo(58,97);
curveTo(76,103, 78,107);
lineTo(55,104);
curveTo(60,100, 58,97);
}
pC2_1.x = 0;
pC2_1.y = 95;
pC2_1.rotation= 10;
// 目
with(pC2_2.graphics){
beginFill(clOutline,1);
moveTo(27,24);
curveTo(35,60, 43,28);
lineTo(46,28);
curveTo(35,62, 24,24);
moveTo(95,29);
curveTo(105,65, 114,28);
lineTo(111,28);
curveTo(105,62, 97,28);
}
pC2_2.x = 0;
pC2_2.y = 95;
pC2_2.rotation= 10;
// めがね
aryGC = [0x666699, 0x666699];
aryGA = [0.4, 0.2];
aryGR = [0x66, 0xff];
matG = new Matrix();
matG.createGradientBox(65, 45, Math.PI/4, 0,0);
with(pC3_1.graphics){
beginGradientFill(GradientType.RADIAL, aryGC, aryGA, aryGR, matG, SpreadMethod.PAD, "rgb", 0);
moveTo(0,28);
curveTo(0,0, 28,0);
curveTo(65,5, 63,30);
curveTo(60,45, 33,45);
curveTo(6,40, 0,28);
}
pC3_1.x = -13;
pC3_1.y = 110;
with(pC3_2.graphics){
beginGradientFill(GradientType.LINEAR, aryGC, aryGA, aryGR, matG, SpreadMethod.PAD, "rgb", 0.7);
moveTo(5,15);
curveTo(10,5, 25,0);
curveTo(70,0, 67,12);
curveTo(65,46, 30,45);
curveTo(0,30, 5,15);
}
pC3_2.x = 68;
pC3_2.y = 133;
// めがね光
aryGC = [0xffffff, 0xffffff];
aryGA = [0.6, 0];
aryGR = [0, 0x99];
matG = new Matrix();
matG.createGradientBox(150, 70, Math.PI/6*4, 0,0);
with(pC3_3.graphics){
beginGradientFill(GradientType.LINEAR, aryGC, aryGA, aryGR, matG, SpreadMethod.PAD, "rgb", 0);
moveTo(0,28);
curveTo(0,0, 28,0);
curveTo(65,5, 63,30);
curveTo(60,45, 33,45);
curveTo(6,40, 0,28);
moveTo(85,38);
curveTo(90,28, 105,23);
curveTo(150,23, 147,35);
curveTo(145,69, 110,68);
curveTo(80,53, 85,38);
}
pC3_3.x = -13;
pC3_3.y = 110;
// めがねフレーム
with(pC3_4.graphics){
beginFill(0x993333,1);
moveTo(0,30);
curveTo(3,3, 28,0);
curveTo(60,2, 64,26);
curveTo(64,24, 72,24);
curveTo(80,26, 84,35);
curveTo(92,19, 120,23);
curveTo(155,24, 140,30);
curveTo(150,30, 150,55);
lineTo(140,59);
curveTo(150,40, 135,28);
curveTo(86,18, 87,45);
lineTo(83,47);
curveTo(80,27, 74,27);
curveTo(63,27, 61,40);
lineTo(58,38);
curveTo(63,25, 58,18);
curveTo(38,-8, 15,6);
}
pC3_4.x = -13;
pC3_4.y = 110;
// 髪
with(pC4_1.graphics){
beginFill(clOutline,1);
moveTo(12,245);
curveTo(-74,170,19,27);
curveTo(45,-2, 97.5,-1);
curveTo(186,9, 176,100);
curveTo(166,148, 159,158);
lineTo(164,168);
curveTo(98,141, 99,91);
lineTo(74,81);
curveTo(71,62, 72,54);
curveTo(22,105, 25,192);
curveTo(13,140, 35,98);
curveTo(-2,175, 12,245);
}
with(pC4_2.graphics){
beginFill(0x666670, 1);
moveTo(10,240);
curveTo(-70,170, 20,27);
curveTo(45,0, 97.5,0);
curveTo(185,10, 175,100);
curveTo(165,148, 158,158);
lineTo(163,168);
curveTo(100,140, 100,90);
lineTo(75,80);
curveTo(72,62, 73,54);
curveTo(20,105, 25,190);
curveTo(15,140, 35,95);
curveTo(-5,175, 10,240);
}
aryGC = [0xffffff, 0x000033];
aryGA = [0.5, 0.2];
aryGR = [0x00, 0xee];
matG = new Matrix();
matG.createGradientBox(240, 168, Math.PI/2, 0,0);
with(pC4_3.graphics){
beginGradientFill(GradientType.LINEAR, aryGC, aryGA, aryGR, matG, SpreadMethod.PAD, "rgb", 0);
moveTo(10,240);
curveTo(-70,170, 20,27);
curveTo(45,0, 97.5,0);
curveTo(185,10, 175,100);
curveTo(165,148, 158,158);
lineTo(163,168);
curveTo(100,140, 100,90);
lineTo(75,80);
curveTo(72,62, 73,54);
curveTo(20,105, 25,190);
curveTo(15,140, 35,95);
curveTo(-5,175, 10,240);
}
retVal.addChild(pC1_1);
retVal.addChild(pC1_2);
retVal.addChild(pC2_1);
retVal.addChild(pC2_2);
retVal.addChild(pC3_1);
retVal.addChild(pC3_2);
retVal.addChild(pC3_3);
retVal.addChild(pC3_4);
retVal.addChild(pC4_1);
retVal.addChild(pC4_2);
retVal.addChild(pC4_3);
retVal.scaleX = retVal.scaleY = 1.1;
retVal.x = 233;
retVal.y = -30;
return retVal;
}
private function pBody():Sprite
{
var retVal:Sprite= new Sprite();
var pC1_1:Sprite = new Sprite();
var pC1_2:Sprite = new Sprite();
var pC1_3:Sprite = new Sprite();
var pC2_1:Sprite = new Sprite();
var pC2_2:Sprite = new Sprite();
var pC3_1:Sprite = new Sprite();
var pC3_2:Sprite = new Sprite();
var pC4_1:Sprite = new Sprite();
var pC4_2:Sprite = new Sprite();
var pC4_3:Sprite = new Sprite();
// 体
with(pC1_1.graphics){
beginFill(clOutline, 1);
moveTo(-3,250);
curveTo(37,198, 77,138);
curveTo(88,118, 98,99);
curveTo(128,-1, 208,-1);
curveTo(390,48, 412,78);
curveTo(422,180, 401,253);
curveTo(417,261, 417,328);
curveTo(402,400, 226,400);
curveTo(174,390, 172,280);
lineTo(187,272);
curveTo(191,272, 198,245);
curveTo(157,215, 167,160);
curveTo(165,157,160,162);
curveTo(126,190, 83,281);
curveTo(-2,352, -3,250);
}
aryGC = [0x999999, 0x666666];
aryGA = [1, 1];
aryGR = [0, 0xff];
matG = new Matrix();
matG.createGradientBox(420, 420, Math.PI/2, 0,0);
with(pC1_2.graphics){
beginGradientFill(GradientType.LINEAR, aryGC, aryGA, aryGR, matG, SpreadMethod.PAD, "rgb", 0);
moveTo(0,250);
curveTo(40,200, 80,140);
curveTo(88,120, 100,100);
curveTo(130,0, 210,0);
curveTo(390,50, 410,80);
curveTo(420,180, 398,255);
curveTo(415,260, 415,330);
curveTo(400,400, 226,400);
curveTo(175,390, 175,280);
lineTo(190, 270);
curveTo(193,270, 201,245);
curveTo(160,215, 170,160);
curveTo(165,155, 160,160);
curveTo(125,190, 80,280);
curveTo(0,350, 0,250);
}
aryGC = [0xffffff, 0xffffff];
aryGA = [0, 0.25];
aryGR = [0xee, 0xff];
matG = new Matrix();
matG.createGradientBox(420, 800, 0, 16,10);
with(pC1_3.graphics){
beginGradientFill(GradientType.RADIAL, aryGC, aryGA, aryGR, matG, SpreadMethod.PAD, "rgb", 0);
moveTo(0,250);
curveTo(40,200, 80,140);
curveTo(88,120, 100,100);
curveTo(130,0, 210,0);
curveTo(390,50, 410,80);
curveTo(420,180, 398,255);
curveTo(415,260, 415,330);
curveTo(400,400, 226,400);
curveTo(175,390, 175,280);
lineTo(190, 270);
curveTo(193,270, 201,245);
curveTo(160,215, 170,160);
curveTo(165,155, 160,160);
curveTo(125,190, 80,280);
curveTo(0,350, 0,250);
}
with(pC2_1.graphics){
beginFill(clOutline,1);
moveTo(25,0);
curveTo(15,15, 0,80);
lineTo(12,92);
lineTo(4,106);
curveTo(25,155, 90,175);
curveTo(78,210, 75,220);
curveTo(95,260, 90,270);
curveTo(95,255, 79,220);
curveTo(85,175, 148,92);
}
pC2_1.rotation=6;
pC2_1.x = 188;
pC2_1.y = -10;
aryGC = [0x999999, 0x666666];
aryGA = [1, 1];
aryGR = [0, 0xff];
matG = new Matrix();
matG.createGradientBox(150, 270, Math.PI/2, 0,0);
with(pC2_2.graphics){
beginGradientFill(GradientType.LINEAR, aryGC, aryGA, aryGR, matG, SpreadMethod.PAD, "rgb", 0);
moveTo(25,2);
curveTo(17,17, 2,80);
lineTo(14,92);
lineTo(5,106);
curveTo(27,154, 93,175);
curveTo(83,175, 146,92);
}
pC2_2.rotation=6;
pC2_2.x = 188;
pC2_2.y = -10;
aryGC = [clSkinSh, clSkin];
aryGA = [1, 1];
aryGR = [0x66, 0xff];
matG = new Matrix();
matG.createGradientBox(110, 220, Math.PI/2, 0,0);
with(pC3_2.graphics){
beginGradientFill(GradientType.LINEAR, aryGC, aryGA, aryGR, matG, SpreadMethod.PAD, "rgb", 0);
moveTo(225,110);
curveTo(230,-10, 280,0);
curveTo(318,20, 290,105);
curveTo(270,160,265,160);
curveTo(250,150,225,110);
}
with(pC4_1.graphics){
beginFill(0xfff0f0,1);
moveTo(233.3,123);
curveTo(260,140, 279.7,132);
curveTo(270,160,265,160);
curveTo(250,150,233.3,123);
}
with(pC4_2.graphics){
beginFill(clOutline,1);
drawCircle(326,216,12);
}
pC4_2.scaleX=0.8;
aryGC = [0xffffff, 0xffffff];
aryGA = [0.5, 0.2];
aryGR = [0x00, 0x66];
matG = new Matrix();
matG.createGradientBox(20, 20, 0, 313,203);
with(pC4_3.graphics){
beginGradientFill(GradientType.RADIAL, aryGC, aryGA, aryGR, matG, SpreadMethod.PAD, "rgb", 0);
drawCircle(325,216,10);
}
pC4_3.scaleX=0.8;
retVal.addChild(pC1_1);
retVal.addChild(pC1_2);
retVal.addChild(pC1_3);
retVal.addChild(pC2_1);
retVal.addChild(pC2_2);
retVal.addChild(pC3_1);
retVal.addChild(pC3_2);
retVal.addChild(pC4_1);
retVal.addChild(pC4_2);
retVal.addChild(pC4_3);
retVal.scaleX = retVal.scaleY = 0.9;
retVal.x = 50;
retVal.y = 130;
return retVal;
}
private function pBack():Sprite
{
var retVal:Sprite= new Sprite();
var pC1_1:Sprite = new Sprite();
var pC1_2:Sprite = new Sprite();
var pC1_3:Sprite = new Sprite();
with(pC1_1.graphics){
beginFill(clOutline,1);
moveTo(63,0);
curveTo(267,9, 268,160);
lineTo(-2,160);
curveTo(3,0, 63,0);
}
with(pC1_2.graphics){
beginFill(0x666666,1);
moveTo(65,0);
curveTo(265,10, 265,160);
lineTo(0,160);
curveTo(5,0, 65,0);
}
aryGC = [0xffffff, 0xffffff];
aryGA = [0, 0.4];
aryGR = [0xcc, 0xff];
matG = new Matrix();
matG.createGradientBox(265, 265, -(Math.PI/4), 0,0);
with(pC1_3.graphics){
beginGradientFill(GradientType.LINEAR, aryGC, aryGA, aryGR, matG, SpreadMethod.PAD, "rgb", 0);
moveTo(65,0);
curveTo(265,10, 265,160);
lineTo(0,160);
curveTo(5,0, 65,0);
}
retVal.addChild(pC1_1);
retVal.addChild(pC1_2);
retVal.addChild(pC1_3);
retVal.x = 215;
retVal.y = 345;
return retVal;
}
private function pArmR():Sprite
{
var retVal:Sprite= new Sprite();
var pC1_1:Sprite = new Sprite();
var pC1_2:Sprite = new Sprite();
var pC1_3:Sprite = new Sprite();
var pC2_1:Sprite = new Sprite();
var pC2_2:Sprite = new Sprite();
with(pC1_1.graphics){
beginFill(clOutline, 1);
moveTo(-4,50);
curveTo(-2,-2, 50,-2);
curveTo(84,-2, 93,33);
curveTo(86,60, 130,180);
curveTo(130,200, 113,215);
curveTo(110,266, 0,211);
}
aryGC = [0x999999, 0x707070];
aryGA = [1, 1];
aryGR = [0, 0xff];
matG = new Matrix();
matG.createGradientBox(130, 260, Math.PI/2, 0,0);
with(pC1_2.graphics){
beginGradientFill(GradientType.LINEAR, aryGC, aryGA, aryGR, matG, SpreadMethod.PAD, "rgb", 0);
moveTo(0,50);
curveTo(0,0, 50,0);
curveTo(80,0, 90,32);
curveTo(83,60, 130,180);
curveTo(130,200, 130,210);
curveTo(110,266, 8,210);
}
aryGC = [0xffffff, 0xffffff];
aryGA = [0, 0.4];
aryGR = [0x99, 0xdd];
matG = new Matrix();
matG.createGradientBox(130, 260, -(Math.PI/3), 0,0);
with(pC1_3.graphics){
beginGradientFill(GradientType.LINEAR, aryGC, aryGA, aryGR, matG, SpreadMethod.PAD, "rgb", 0);
moveTo(0,50);
curveTo(0,0, 50,0);
curveTo(80,0, 90,32);
curveTo(83,60, 130,180);
curveTo(130,200, 130,210);
curveTo(110,266, 8,210);
}
with(pC2_1.graphics){
beginFill(clOutline, 1);
moveTo(-3,103);
curveTo(-3,-3, 55,-3);
curveTo(103,-3, 104,26);
curveTo(113,41, 107,61);
curveTo(72,162, 61,201);
curveTo(40,222, 10,212);
curveTo(-2,152, -2,100);
}
pC2_1.x = -10;
pC2_1.y = -30;
aryGC = [0xffffff, 0xe9e9df];
aryGA = [1, 1];
aryGR = [0, 0xff];
matG = new Matrix();
matG.createGradientBox(130, 240, Math.PI/2, 0,0);
with(pC2_2.graphics){
beginGradientFill(GradientType.LINEAR, aryGC, aryGA, aryGR, matG, SpreadMethod.PAD, "rgb", 0);
moveTo(0,100);
curveTo(0,0, 55,0);
curveTo(100,0, 100,25);
curveTo(110,40, 105,60);
curveTo(70,160, 60,200);
curveTo(40,220, 10,210);
curveTo(0,150,0,100);
}
pC2_2.x = -10;
pC2_2.y = -30;
retVal.addChild(pC1_1);
retVal.addChild(pC1_2);
retVal.addChild(pC1_3);
retVal.addChild(pC2_1);
retVal.addChild(pC2_2);
retVal.scaleY = 1.2;
retVal.x = -20;
retVal.y = 122;
return retVal;
}
private function pArmL():Sprite
{
var retVal:Sprite= new Sprite();
var pC1_1:Sprite = new Sprite();
var pC1_2:Sprite = new Sprite();
var pC2_1:Sprite = new Sprite();
var pC2_2:Sprite = new Sprite();
var pC2_3:Sprite = new Sprite();
with(pC1_1.graphics){
beginFill(clOutline, 1);
moveTo(3,14);
curveTo(-1,-1, 85,-1);
curveTo(74,11, 74,56);
lineTo(10,55);
curveTo(-1,35, 4,14);
}
pC1_1.x = 4;
pC1_1.y = -6;
aryGC = [0xffffff, 0xe9e9df];
aryGA = [1, 1];
aryGR = [0, 0xff];
matG = new Matrix();
matG.createGradientBox(85, 50, Math.PI/2, 0,0);
with(pC1_2.graphics){
beginGradientFill(GradientType.LINEAR, aryGC, aryGA, aryGR, matG, SpreadMethod.PAD, "rgb", 0);
moveTo(5,14);
curveTo(0,0, 83,0);
curveTo(73,10, 73,55);
lineTo(12,55);
curveTo(0,35, 5,14);
}
pC1_2.x = 4;
pC1_2.y = -6;
with(pC2_1.graphics){
beginFill(clOutline, 1);
moveTo(-2,44);
curveTo(27,36, 88,-2);
curveTo(88,-2, 90,2);
curveTo(86,131, 117,180);
lineTo(65,240);
curveTo(54,220, 13,155);
curveTo(8,120, 10,98);
curveTo(10,60, -2,44);
}
aryGC = [0x9e9e9e, 0x707070];
aryGA = [1, 1];
aryGR = [0, 0xff];
matG = new Matrix();
matG.createGradientBox(120, 240, Math.PI/2, 0,0);
with(pC2_2.graphics){
beginGradientFill(GradientType.LINEAR, aryGC, aryGA, aryGR, matG, SpreadMethod.PAD, "rgb", 0);
moveTo(0,45);
curveTo(28,38, 86,0);
curveTo(88,0, 88,4);
curveTo(86,130, 115,180);
curveTo(116,214, 95, 236);
lineTo(65,240);
curveTo(55,220, 15,155);
curveTo(10,120, 12,98);
curveTo(12,60, 0,45);
}
aryGC = [0xffffff, 0xffffff];
aryGA = [0, 0.5];
aryGR = [0x66, 0xff];
matG = new Matrix();
matG.createGradientBox(130, 260, -(Math.PI/4), 0,0);
with(pC2_3.graphics){
beginGradientFill(GradientType.LINEAR, aryGC, aryGA, aryGR, matG, SpreadMethod.PAD, "rgb", 0);
moveTo(0,45);
curveTo(28,38, 86,0);
curveTo(88,0, 88,4);
curveTo(86,130, 115,180);
curveTo(116,214, 95, 236);
lineTo(65,240);
curveTo(55,220, 15,155);
curveTo(10,120, 12,98);
curveTo(12,60, 0,45);
}
retVal.addChild(pC1_1);
retVal.addChild(pC1_2);
retVal.addChild(pC2_1);
retVal.addChild(pC2_2);
retVal.addChild(pC2_3);
retVal.rotation = 6;
retVal.scaleX = 0.9;
retVal.scaleY = 0.85;
retVal.x = 320;
retVal.y = 220;
return retVal;
}
private function pHandR():Sprite
{
var retVal:Sprite= new Sprite();
var pC1_1:Sprite = new Sprite();
var pC1_2:Sprite = new Sprite();
var pC1_3:Sprite = new Sprite();
with(pC1_1.graphics){
beginFill(clOutline,1);
moveTo(-3,-3);
lineTo(108,-3);
curveTo(111,15, 111,40);
curveTo(111,50, 92,82);
curveTo(71,97, 46,182);
curveTo(20,223, 0,223);
}
with(pC1_2.graphics){
beginFill(clSkinSh,1);
moveTo(0,0);
lineTo(105,0);
curveTo(108,15, 108,40);
curveTo(108,50, 90,80);
curveTo(70,95, 45,180);
curveTo(20,220, 0,220);
}
aryGC = [0xff6600, 0xff6600];
aryGA = [0, 0.2];
aryGR = [0x99, 0xff];
matG = new Matrix();
matG.createGradientBox(150, 350, Math.PI/4, -25,0);
with(pC1_3.graphics){
beginGradientFill(GradientType.RADIAL, aryGC, aryGA, aryGR, matG, SpreadMethod.PAD, "rgb", 0);
moveTo(0,0);
lineTo(105,0);
curveTo(108,15, 108,40);
curveTo(108,50, 90,80);
curveTo(70,95, 45,180);
curveTo(20,220, 0,220);
}
retVal.addChild(pC1_1);
retVal.addChild(pC1_2);
retVal.addChild(pC1_3);
retVal.scaleY=1.1;
retVal.x = -15;
retVal.y = -5;
return retVal;
}
private function pHandL():Sprite
{
var retVal:Sprite= new Sprite();
var pC1_1:Sprite = new Sprite();
var pC1_2:Sprite = new Sprite();
var pC1_3:Sprite = new Sprite();
var pC1_4:Sprite = new Sprite();
with(pC1_1.graphics){
beginFill(clOutline, 1);
moveTo(58,72);
curveTo(64,52, 71,44);
curveTo(62,25, 61,8);
curveTo(59,3, 63,3);
curveTo(65,3, 67,7);
curveTo(80,39, 84,46);
lineTo(78,67);
}
pC1_1.rotation=14;
pC1_1.x = 12;
pC1_1.y = -8;
with(pC1_2.graphics){
beginFill(clSkinSh,1);
moveTo(60,72);
curveTo(65,52, 72,44);
curveTo(63,25, 60,8);
curveTo(59,3, 63,3);
curveTo(65,3, 67,7);
curveTo(79,39, 83,46);
lineTo(78,67);
}
pC1_2.rotation=14;
pC1_2.x = 12;
pC1_2.y = -8;
with(pC1_3.graphics){
beginFill(clOutline,1);
moveTo(3,165);
curveTo(3,155, 2,145);
curveTo(-1,115, 2,112);
curveTo(4,100, 19,92);
curveTo(39,82, 45,68);
curveTo(48,44, 39,14);
curveTo(38,6, 46,13);
curveTo(55,44, 56,52);
}
aryGC = [clSkin, clSkinSh];
aryGA = [1, 1];
aryGR = [0, 0xff];
matG = new Matrix();
matG.createGradientBox(90, 165, Math.PI/2, 0,0);
with(pC1_4.graphics){
beginGradientFill(GradientType.LINEAR, aryGC, aryGA, aryGR, matG, SpreadMethod.PAD, "rgb", 0);
moveTo(5,165);
curveTo(5,155, 3,145);
curveTo(0,115, 3,112);
curveTo(6,100, 20,93);
curveTo(40,82.5, 44,70);
curveTo(47,44, 40,14);
curveTo(40,8, 43,8);
curveTo(46,8, 47,14);
curveTo(57,44, 58,52);
curveTo(58,34, 48,6);
curveTo(48,0, 51,0);
curveTo(54,0, 55,4);
lineTo(65,32);
lineTo(72,58);
curveTo(77,66, 75,72);
}
retVal.addChild(pC1_1);
retVal.addChild(pC1_2);
retVal.addChild(pC1_3);
retVal.addChild(pC1_4);
retVal.scaleX = 1.1;
retVal.scaleY = 1.2;
retVal.x = 330;
retVal.y = 75;
return retVal;
}
private function pShade():Sprite
{
var retVal:Sprite= new Sprite();
var pC1_1:Sprite = new Sprite();
var pC1_2:Sprite = new Sprite();
var pC2_1:Sprite = new Sprite();
var pC2_2:Sprite = new Sprite();
var pC3_1:Sprite = new Sprite();
var blurW1:BlurFilter = new BlurFilter(4,8);
var blurW2:BlurFilter = new BlurFilter(8,8);
aryGC = [0xccffff, 0xccffff];
aryGA = [0.7, 0];
aryGR = [0x66, 0xff];
matG = new Matrix();
matG.createGradientBox(60, 55, 0, 0,0);
with(pC1_1.graphics){
beginGradientFill(GradientType.LINEAR, aryGC, aryGA, aryGR, matG, SpreadMethod.PAD, "rgb", 0);
moveTo(13,0);
curveTo(5,25, 45,25);
lineTo(47,23);
lineTo(55,18);
lineTo(45,23);
curveTo(-5,40, 13,0);
}
pC1_1.filters = [blurW1];
pC1_1.blendMode = BlendMode.ADD;
pC1_1.rotation = 30;
pC1_1.x = 250;
pC1_1.y = -10;
aryGC = [0xccffff, 0xccffff];
aryGA = [0, 0.7];
aryGR = [0, 0xe0];
matG = new Matrix();
matG.createGradientBox(100, 55, 0, 0,0);
with(pC1_2.graphics){
beginGradientFill(GradientType.LINEAR, aryGC, aryGA, aryGR, matG, SpreadMethod.PAD, "rgb", 0);
moveTo(0,22);
curveTo(60,30, 60,0);
curveTo(70,10, 70,30);
curveTo(40,40, 0,22);
}
pC1_2.filters = [blurW1];
pC1_2.blendMode = BlendMode.ADD;
pC1_2.x = 360;
pC1_2.y = 25;
with(pC2_1.graphics){
beginFill(0xffffff,0.4);
moveTo(2,2);
curveTo(1,1, 0,5);
curveTo(16,12, 11,36);
curveTo(24,20, 2,2);
moveTo(46,42);
curveTo(45,22, 75,22);
}
pC2_1.x = 270;
pC2_1.y = 97;
with(pC2_2.graphics){
beginFill(0x666699,0.3);
moveTo(0,30);
curveTo(33,35, 38,0);
lineTo(45,6);
curveTo(48,45, 0,30);
}
pC2_2.x = 330;
pC2_2.y = 129;
with(pC3_1.graphics){
beginFill(0xffffff,0.5);
moveTo(0,55);
curveTo(5,20, 20,0);
curveTo(19,18, 20,50);
moveTo(138,-10);
curveTo(133,-10, 133,35);
curveTo(108,55, 96,75);
}
pC3_1.x = 286;
pC3_1.y = 125;
pC3_1.filters = [blurW2];
retVal.addChild(pC1_1);
retVal.addChild(pC1_2);
retVal.addChild(pC2_1);
retVal.addChild(pC2_2);
retVal.addChild(pC3_1);
return retVal;
}
private function pEff():Sprite
{
var retVal:Sprite= new Sprite();
var pC1_1:Sprite = new pDC(15);
var pC1_2:Sprite = new pDC(5);
pC1_1.x = 86;
pC1_1.y = 20;
pC1_2.x = 92;
pC1_2.y = 45;
var pC2_1:Sprite = new pDC(8);
var pC2_2:Sprite = new pDC(3);
var pC2_3:Sprite = new pDC(5);
var pC2_4:Sprite = new pDC(6);
pC2_1.x = 207;
pC2_1.y = 108;
pC2_2.x = 402;
pC2_2.y = 14;
pC2_3.x = 200;
pC2_3.y = 125;
pC2_4.x = 412;
pC2_4.y = 10;
var pC3_1:Sprite = new pDC(16);
var pC3_2:Sprite = new pDC(160);
var pC3_3:Sprite = new pDC(40);
pC3_1.x = 420;
pC3_1.y = 190;
pC3_2.x = 120;
pC3_2.y = 560;
pC3_3.x = 460;
pC3_3.y = 370;
pC3_1.filters= [new BlurFilter(8,8)]
pC3_2.filters= [new BlurFilter(64,64)]
pC3_3.filters= [new BlurFilter(32,32)]
retVal.addChild(pC1_1);
retVal.addChild(pC1_2);
retVal.addChild(pC2_1);
retVal.addChild(pC2_2);
retVal.addChild(pC2_3);
retVal.addChild(pC2_4);
retVal.addChild(pC3_1);
retVal.addChild(pC3_2);
retVal.addChild(pC3_3);
return retVal;
}
}
}
import flash.display.Sprite;
class pDC extends Sprite
{
public function pDC(r:uint):void
{
with(graphics){
beginFill(0xffffff,0.7);
drawCircle(0,0, r);
}
}
}