[转]绿色的水晶球效果

[img]http://dl.iteye.com/upload/attachment/435134/b797675d-eb2f-3c7f-8ed0-f612a5813b84.jpg[/img]


这东西不太可能只用滤镜来实现,实实在在用程序画出来还差不多。
LZ不要想的太死板,有些东西需要动脑筋才能实现

送你个绿色的水晶球作为参考:
package  
{
import flash.display.Graphics;
import flash.display.Shape;
import flash.display.Sprite;
import flash.display.GradientType;
import flash.geom.Matrix;

/**
* ...
* @author Fox
*/
public class CrystalBall extends Sprite
{
//private var _light:Graphics;
private var _r:Number;


/**
* 构造函数
* @param Radius
*/
public function CrystalBall(Radius:Number= 50)
{
_r = Radius;
init();
}

/**
* 初始化
*/
private function init():void
{
var _alp:Array = [1, 1];
var _col:Array = [0xC2FE12,0x0F7B41];
var _rat:Array = [0,255];
var _matr:Matrix = new Matrix();
var _scolR:Number = int(_r*2);
_matr.createGradientBox(_scolR, _scolR,0, -_r, 0);

this.graphics.beginGradientFill(GradientType.RADIAL, _col, _alp, _rat, _matr);
this.graphics.drawCircle(0, 0, _r);
this.graphics.endFill();

var _light:Shape= new Shape();
_col = [0xFFFFFF, 0xFFFFFF];
_alp = [0.8, 0];
_rat = [0, 180];
_matr.createGradientBox(_r*0.1, _r,Math.PI*0.5, 0, -_r);
_light.graphics.beginGradientFill(GradientType.LINEAR, _col, _alp, _rat,_matr);
_light.graphics.drawCircle(0, -_r * 0.42, _r * 0.8);
_light.graphics.endFill();
_light.scaleY = 0.75;

this.addChild(_light);
}

}

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值