desktop updates
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package funkin.multitasking;
|
||||
|
||||
import flixel.system.frontEnds.BitmapFrontEnd;
|
||||
import openfl.Lib;
|
||||
import openfl.display.Sprite;
|
||||
import flash.events.Event;
|
||||
@@ -14,8 +15,10 @@ import flixel.FlxG;
|
||||
class StateWindow extends Sprite {
|
||||
public var window:Window;
|
||||
public var state:MusicBeatState;
|
||||
public var cameras:Array<FlxCamera> = [new FlxCamera()];
|
||||
public var camerasDefault:Array<FlxCamera> = [];
|
||||
public var camera:FlxCamera;
|
||||
public var cameras:Array<FlxCamera>;
|
||||
public var camerasDefault:Array<FlxCamera>;
|
||||
public var bmapFrontEnd:BitmapFrontEnd = new BitmapFrontEnd();
|
||||
|
||||
public function new(windowName:String, state:MusicBeatState) {
|
||||
super();
|
||||
@@ -36,6 +39,10 @@ class StateWindow extends Sprite {
|
||||
|
||||
window.stage.addChild(this);
|
||||
|
||||
camera = new FlxCamera();
|
||||
cameras = [camera];
|
||||
camerasDefault = [camera];
|
||||
|
||||
state.parentWindow = this;
|
||||
this.state = state;
|
||||
|
||||
@@ -52,6 +59,7 @@ class StateWindow extends Sprite {
|
||||
var oldCamDefaults:Array<FlxCamera>;
|
||||
var oldCam:FlxCamera;
|
||||
var oldState:FlxState;
|
||||
var oldFrontEnd:BitmapFrontEnd;
|
||||
|
||||
public function beforeStateShit() {
|
||||
oldSize.set(FlxG.width, FlxG.height);
|
||||
@@ -66,10 +74,25 @@ class StateWindow extends Sprite {
|
||||
|
||||
FlxCamera._defaultCameras = FlxG.cameras.defaults = camerasDefault;
|
||||
FlxG.cameras.list = cameras;
|
||||
FlxG.camera = cameras[0];
|
||||
FlxG.camera = camera;
|
||||
|
||||
oldState = FlxG.game._state;
|
||||
FlxG.game._state = state;
|
||||
|
||||
|
||||
if (this.numChildren != cameras.length) {
|
||||
trace("readding cameras...");
|
||||
while(this.numChildren > 0)
|
||||
removeChild(getChildAt(0));
|
||||
|
||||
for(c in cameras) {
|
||||
addChild(c.flashSprite);
|
||||
c.flashSprite.x = c.flashSprite.y = 0;
|
||||
}
|
||||
}
|
||||
|
||||
oldFrontEnd = FlxG.bitmap;
|
||||
FlxG.bitmap = bmapFrontEnd;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -78,6 +101,7 @@ class StateWindow extends Sprite {
|
||||
FlxG.width = Std.int(oldSize.x);
|
||||
FlxG.height = Std.int(oldSize.y);
|
||||
|
||||
camera = FlxG.camera;
|
||||
cameras = FlxG.cameras.list;
|
||||
camerasDefault = FlxG.cameras.defaults;
|
||||
|
||||
@@ -89,49 +113,36 @@ class StateWindow extends Sprite {
|
||||
oldCam = null;
|
||||
|
||||
FlxG.game._state = oldState;
|
||||
|
||||
FlxG.bitmap = oldFrontEnd;
|
||||
oldFrontEnd = null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public function update(elapsed:Float) {
|
||||
beforeStateShit();
|
||||
@:privateAccess
|
||||
FlxG.cameras.update(FlxG.elapsed);
|
||||
state.tryUpdate(elapsed);
|
||||
afterStateShit();
|
||||
|
||||
}
|
||||
|
||||
public function draw() {
|
||||
@:privateAccess {
|
||||
beforeStateShit();
|
||||
|
||||
// for(c in cameras) {
|
||||
// addChild(c.flashSprite);
|
||||
// c.color = 0xFF0000;
|
||||
// }
|
||||
FlxG.cameras.lock();
|
||||
state.draw();
|
||||
FlxG.cameras.unlock();
|
||||
|
||||
afterStateShit();
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
|
||||
public override function __enterFrame(t:Float) {
|
||||
super.__enterFrame(Std.int(t));
|
||||
@:privateAccess {
|
||||
beforeStateShit();
|
||||
for(c in cameras) {
|
||||
trace(c.x);
|
||||
trace(c.y);
|
||||
// c.bgColor = 0xFFFFFFFF;
|
||||
}
|
||||
stage.color = 0xFF0000;
|
||||
|
||||
FlxG.cameras.update(FlxG.elapsed);
|
||||
state.tryUpdate(FlxG.elapsed);
|
||||
|
||||
FlxG.cameras.lock();
|
||||
state.draw();
|
||||
|
||||
FlxG.cameras.render();
|
||||
FlxG.cameras.unlock();
|
||||
|
||||
afterStateShit();
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
Reference in New Issue
Block a user