[Stuff] ActionScript 3 stdLib

[Stuff] ActionScript 3 stdLib

ALso ich arbeite grad an einer lib mit vielen klassen und funktionen bis her siehts so aus: HTML-Code: <std> | |-- <data> |    |-- Element |    |-- Iterator |    |-- Stack | |-- <events> |    |-- EventHandler | |-- <geom> |    |-- Graph | |-- <math> |    |-- math |    |-- Matrix |    |-- Vector | |-- <utils>     |-- Time std.data.Element: ActionScript: import std.data.Element; var e : Element = new Element( "hallo"); trace( e.value ); // halloe.value = 0;trace( e.value ); // 0   std.data.Iterator: ActionScript: package std.data{    public interface Iterator    {        public function get data() : *;        public function set data( value : * ) : void        public function start() : void;        public function hasNext() : Boolean;        public function next() : *    }} std.data.Stack: ActionScript: import std.data.Stack; var s : Stack = new Stack( 0, 1, 2, 3, 4 ); trace( s.pop() ); // 4s.push( "blaaaa" );trace( s.pop() ); // blaaaa   std.events.EventHandler: ActionScript: import std.events.EventHandler; var s : Sprite = new Sprite; function enterFrame( event : Event ) : void {};function addedToStage( event : Event ) : void {}; EventHandler.addEventListenerTo( s, Event.ENTER_FRAME, enterFrame );EventHandler.addEventListenerTo( s, Event.ADDED_TO_STAGE, addedToStage ); this.addChild( s ); trace( s.hasEventListener( Event.ENTER_FRAME ) ); // true EventHandler.removeEventListenerFrom( s );// removes all EventHandler.removeEventListenerFrom( s, Event.ENTER_FRAME );// removes all Event.ENTER_FRAME listerners EventHandler.removeEventListenerFrom( s, Event.ENTER_FRAME, enterFrame );// removes the specific listener   std.geom.Graph: ActionScript: import std.geom.Graph: function f( x : Number ) : Number{    // y = mx + n    return 2/5 * x + 50;} Graph.setProperties( 1, 0xFF0000, 0.5 );Graph.drawFunction( f, [ -10, 10 ], this.graphics ); std.math.math: Erweiterung der Math-Klasse um komplexe funktionen ( Hyperbolicus udn Areafunktionen ) + Hilfsfunktionen std.math.Matrix: ActionScript: import std.math.Matrix; var m : Matrix = new Matrix( 2, 3 );m.setElementAt( 1, 1, 1 );m.setElementAt( 1, 2, 2 );m.setElementAt( 1, 3, 3 );            m.setElementAt( 2, 1, 4 );m.setElementAt( 2, 2, 5 );m.setElementAt( 2, 3, 6 );/* * 1 2 3 * 4 5 6*/            var m2 : Matrix = new Matrix( 3, 2 );m2.setElementAt( 1, 1, 6 );m2.setElementAt( 1, 2, -1 );            m2.setElementAt( 2, 1, 3 );m2.setElementAt( 2, 2, 2 ); m2.setElementAt( 3, 1, 0 );m2.setElementAt( 3, 2, -3 );/* * 6 -1 * 3 2 * 0 -3*/ m.add( m2 );    trace( m.toString() );/* * 7 1 3 * 7 7 6 */ Ist aber noch nicht komplett implementiert. fehlen noch einige funktionen. std.math.Vector: ActionScript: import std.math.Vector; var v : Vector = new Vector;            v = Vector.add( v, new Vector( 2, 3 ) );v.normalize();        v = v.getOrthogonal();v = Vector.project( v, new Vector( 1, 1 ) );            trace( v.toString() ); std.utils.Time: Verhindert, dass durch herrabsetzen der FrameRate die bewegung verlangsamt wird. Besonders für Spiele geeignet um nicht cheaten zu können ;) ActionScript: import std.utils.Time; var s : Sprite = new Sprite;s.x = 100;s.y = 200;s.graphics.lineStyle( 0, 0x000000, 1 );s.graphics.drawCircle( 0, 0, 15 );this.addChild( s ); var b : Sprite = new Sprite;b.x = 100;b.y = 100;b.graphics.lineStyle( 0, 0x000000, 1 );b.graphics.drawCircle( 0, 0, 15 );this.addChild( b ); addEventListener( Event.ENTER_FRAME, enterFrame );function enterFrame( event : Event ) : void{    var delay : Number = Time.getDelay();     s.x += 5 * delay;    b.x += 5;     Time.update();} Für weitere Klassen oder ähnliches was man brauchen könnte würd ich mich über eure Vorschläge freuen. Angehängte Dateien std.rar (4,3 KB)