`
cloud21
  • 浏览: 396208 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

http://dl.iteye.com/upload/attachment/435134/b797675d-eb2f-3c7f-8ed0-f612a5813b8

    博客分类:
  • Flex
阅读更多


这东西不太可能只用滤镜来实现,实实在在用程序画出来还差不多。
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);
                }
                
        }

}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics