flash on 2013-10-7

by tepe
♥0 | Line 98 | Modified 2013-10-08 17:02:38 | MIT License
play

ActionScript3 source code

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

package {
    import flash.display.*;
    import flash.events.*;
    import flash.text.*;
    
    public class FlashTest extends Sprite {
        private var a:int =100;
        private var t:TextField = new TextField();
        private var chart:Array = new Array();
        private var x1:Number = 10;
        private var y1:Number = 300;
        public function FlashTest() {
            addChild(t);
            stage.addEventListener(Event.ENTER_FRAME,onFrame);
        }
        private var cnt:int = 0;
        private function onFrame(e:Event):void{
            
            if(Math.random()*100>50 && cnt%3==0){ 
                a += 5 - Math.random() * 10;
                chart[chart.length-1].pt = a;
                t.text = a.toString();
            }
            if(cnt==0){
                if(35<chart.length){
                    while(0<chart.length){
                        var n1:int = chart.length-1
                        removeChild(chart[n1]);
                        chart.pop();
                        //break;
                    }
                    x1 = 10;

                }

                var bar2:Bar = new Bar(a);
                addChild(bar2);
                bar2.x = x1;
                bar2.y = y1;
                x1 += 12;
                chart.push(bar2);
            }
            cnt++;
            cnt%=300;

        }

    }
    
    
}

import flash.display.*;
class Bar extends Sprite{
    private var min:Number;
    private var max:Number;
    private var now:Number;//現在値
    private var _st:Number;//スタート
    private static var c1:uint = 0xff1100;//カラー1
    private static var c2:uint = 0x0055ff;//カラー2
    private static var c3:uint;//カラー3
    
    public function Bar(_pt:Number = 0){
        now = _st = _pt;
        min = max = _pt;
        draw();
    }
    public function set pt(_pt:Number):void{
        now = _pt;
        if(min>=now)min=now;
        if(max<=now)max=now;
        draw();
    }
    public function draw(w:int=10,h:int=1):void{
        this.graphics.clear();
        
        this.graphics.lineStyle(0,0x0);
        
        //ヒゲ
        this.graphics.moveTo(0,-min*h);
        this.graphics.lineTo(0,-max*h);
        var p2:Number;
        if(now<_st){ 
            this.graphics.beginFill(c2);
            p2 = now;
        }
        else{ 
            this.graphics.beginFill(c1);
            p2 = _st;
        }
        var p:Number = Math.abs(_st-now);
        
        this.graphics.drawRect(-w/2,-p2,w,-p);
        this.graphics.endFill();
        //終値 
        this.graphics.moveTo(-w/2,-now);
        this.graphics.lineTo(w/2,-now);
        //始値
        this.graphics.moveTo(-w/2,-_st);
        this.graphics.lineTo(w/2,-_st);
    }



}
class Trader{
    private var buy:Boolean;//買いで入ればtrue.売りで入ればfalse.
    private var pos:int;//保有ポジション
    private var entry:Number;//エントリー時のポイント
    private var lossCat:Number;//損切ポイント
    private var exit:Number;//利食いポイント
    private var span:int;//トレード期間。この値を超えて含み益が出ていれば利食い。含み損なら継続する
    private var gain:Number;//利益,成績
    public function Trader(_b:Boolean,_p:int,_entry:Number,_l:Number,_exit:Number,_s:int){
        buy=_b; pos=_p; entry=_entry;
        lossCat=_l; exit=_exit; span=_s;
        
    }
    
    

}