flash on 2013-10-7
♥0 |
Line 98 |
Modified 2013-10-08 17:02:38 |
MIT License
archived:2017-03-30 02:44:15
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;
}
}