Advertisement
Chlorodatafile

Try to have more than one window

Aug 12th, 2015
476
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Haxe 4.82 KB | None | 0 0
  1. package ;
  2.  
  3. import openfl.events.Event;
  4. import brocchinia.display.DisplayObject;
  5. import lime.ui.GamepadButton;
  6. import lime.ui.GamepadAxis;
  7. import lime.ui.Gamepad;
  8. import lime.app.Application;
  9. import lime.graphics.RenderContext;
  10. import lime.app.Config;
  11. import openfl.display.Stage;
  12. import lime.ui.Window;
  13. import openfl.display.Graphics;
  14. import openfl.Lib;
  15. import lime.ui.KeyCode;
  16. import lime.ui.KeyModifier;
  17.  
  18. typedef LimeEvent<T> = lime.app.Event<T>;
  19.  
  20. class PersoWindow extends Window {
  21.  
  22. }
  23.  
  24. class Main extends Stage {
  25.     public static var allId:UInt=0;
  26.     public var id:UInt;
  27.  
  28.     public var background(get,never):Graphics;
  29.     @:noCompletion private function get_background ():Graphics {
  30.         if (__graphics == null) {
  31.             __graphics = new Graphics ();
  32.             @:privateAccess __graphics.__owner = this;
  33.         }
  34.         return __graphics;
  35.     }
  36.  
  37.     public var foreground:Graphics;
  38.     public var mainground:Graphics;
  39.  
  40.     public static function main() {
  41.         Lib.application.removeModule(Lib.application.modules[0]);
  42.         Lib.application.addModule(new Main());
  43.         newWindow(Main,{width:Lib.application.window.width,height:Lib.application.window.height});
  44.     }
  45.  
  46.     public static function newWindow(model:Class<Main>,config:Config) {
  47.         var app:Application = new Application();
  48.         app.create (config);
  49.         var stage = Type.createInstance(model,[]);
  50.         app.addModule (stage);
  51.     }
  52.  
  53.     public function new() {
  54.         super(Lib.application.window.width,Lib.application.window.height,0x545454);
  55.         frameRate=1;
  56.         var mainG:DisplayObject=new DisplayObject();
  57.         var foreG:DisplayObject=new DisplayObject();
  58.         addChild(mainG);
  59.         addChild(foreG);
  60.         mainground = mainG.graphics;
  61.         foreground = foreG.graphics;
  62.         id=allId++;
  63.     }
  64.  
  65.     override public function onGamepadAxisMove(gamepad:Gamepad, axis:GamepadAxis, value:Float):Void {    }
  66.     override public function onGamepadButtonDown(gamepad:Gamepad, button:GamepadButton):Void {    }
  67.     override public function onGamepadButtonUp(gamepad:Gamepad, button:GamepadButton):Void {    }
  68.     override public function onGamepadConnect(gamepad:Gamepad):Void {    }
  69.     override public function onGamepadDisconnect(gamepad:Gamepad):Void {    }
  70.  
  71.     override public function onKeyDown(keyCode:KeyCode, modifier:KeyModifier):Void {  trace(id);  }
  72.     override public function onKeyUp(keyCode:KeyCode, modifier:KeyModifier):Void {    }
  73.  
  74.     override public function onMouseDown(x:Float, y:Float, button:Int):Void {  trace(id);  }
  75.     override public function onMouseMove(x:Float, y:Float):Void {    }
  76.     override public function onMouseMoveRelative(x:Float, y:Float):Void {    }
  77.     override public function onMouseUp(x:Float, y:Float, button:Int):Void {    }
  78.     override public function onMouseWheel(deltaX:Float, deltaY:Float):Void {    }
  79.  
  80.     override public function onRenderContextLost():Void {    }
  81.     override public function onRenderContextRestored(context:RenderContext):Void {    }
  82.  
  83.     override public function onTextEdit(text:String, start:Int, length:Int):Void {    }
  84.     override public function onTextInput(text:String):Void {    }
  85.  
  86.     override public function onTouchMove(x:Float, y:Float, id:Int):Void {    }
  87.     override public function onTouchEnd(x:Float, y:Float, id:Int):Void {    }
  88.     override public function onTouchStart(x:Float, y:Float, id:Int):Void {    }
  89.  
  90.     override public function onWindowActivate():Void {    }
  91.     override public function onWindowClose():Void {    }
  92.     override public function onWindowDeactivate():Void {    }
  93.     override public function onWindowEnter():Void {    }
  94.     override public function onWindowFocusIn():Void {    }
  95.     override public function onWindowFocusOut():Void {    }
  96.     override public function onWindowFullscreen():Void {    }
  97.     override public function onWindowLeave():Void {    }
  98.     override public function onWindowMinimize():Void {    }
  99.     override public function onWindowMove(x:Float, y:Float):Void {    }
  100.     override public function onWindowResize(width:Int, height:Int):Void {    }
  101.     override public function onWindowRestore():Void {    }
  102.  
  103.     override public function render(context:RenderContext):Void {
  104.         super.render(context);
  105.         this.foreground.beginFill(0x00FF00,1);
  106.         this.foreground.drawRect(50,50,500,500);
  107.         this.foreground.endFill();
  108.         this.mainground.beginFill(0xFF0000,1);
  109.         this.mainground.drawRect(25,25,500,500);
  110.         this.mainground.endFill();
  111.         this.background.beginFill(0x0000FF,1);
  112.         this.background.drawRect(0,0,500,500);
  113.         this.background.endFill();
  114.         //trace("["+id+"].render");
  115.     }
  116.  
  117.     override public function update(deltaTime:Int):Void {
  118.         trace("["+id+"].update : "+deltaTime);
  119.     }
  120.  
  121.  
  122. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement