forked from: 三角関数2

by nbhd
残像付けました。draw はやっぱり重いですね
♥0 | Line 47 | Modified 2010-10-03 13:54:39 | MIT License
play

ActionScript3 source code

/**
 * Copyright nbhd ( http://wonderfl.net/user/nbhd )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/shyf
 */

// 残像付けました。draw はやっぱり重いですね
// forked from kotaro_tan's 三角関数2
package {
    import flash.display.Bitmap;
    import flash.display.BitmapData;
    import flash.display.Graphics;
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.geom.ColorTransform;
    
    public class Math01 extends Sprite {
        private var _c:uint = 0;
        private var _source:Sprite;
        private var _canvas:Bitmap;
        private var _bitmapData:BitmapData;
        
        private const TRANSFORM:ColorTransform = new ColorTransform(1, 1, 1, 0.7, 0, 0, 0, 0);
        
        public function Math01() {
            addEventListener(Event.ADDED_TO_STAGE, _init);
        }

        private function _init(e:Event):void {
            removeEventListener(e.type, arguments.callee);
            _source = new Sprite();
            _bitmapData = new BitmapData(stage.stageWidth, stage.stageHeight);
            _canvas = new Bitmap(_bitmapData);
            addChild(_canvas);
            addEventListener(Event.ENTER_FRAME, _ef);
        }
        
        private function _ef(e:Event):void {
            var g:Graphics = _source.graphics;
            g.clear();
            g.beginFill(0xFF0000);
            g.drawCircle(0+(_c%360), 200+100*Math.cos(Math.PI/180*(_c*3)),3);
            g.beginFill(0x006633);
            g.drawCircle(0+(_c%360), 200+100*Math.sin(Math.PI/180*(_c*3)),3);
            g.endFill();
            g.lineStyle(1,0x0000FF);
            g.moveTo(0,200);
            g.lineTo(600,200);
            g.moveTo(0,100);
            g.lineTo(600,100);
            g.moveTo(0,300);
            g.lineTo(600,300);
            _c++;
            
            _bitmapData.lock();
            _bitmapData.draw(_source);
            _bitmapData.colorTransform(_bitmapData.rect, TRANSFORM);
            _bitmapData.unlock();
        }
    }
}