浏览代码

Fix event ordering when setting s2d via setScene (#708)

Pavel Alexandrov 5 年之前
父节点
当前提交
293a9abeb2
共有 1 个文件被更改,包括 7 次插入4 次删除
  1. 7 4
      hxd/App.hx

+ 7 - 4
hxd/App.hx

@@ -66,11 +66,14 @@ class App implements h3d.IDrawable {
 	public function setScene( scene : hxd.SceneEvents.InteractiveScene, disposePrevious = true ) {
 		var new2D = hxd.impl.Api.downcast(scene, h2d.Scene);
 		var new3D = hxd.impl.Api.downcast(scene, h3d.scene.Scene);
-		if( new2D != null )
+		if( new2D != null ) {
 			sevents.removeScene(s2d);
-		if( new3D != null )
-			sevents.removeScene(s3d);
-		sevents.addScene(scene);
+			sevents.addScene(scene, 0);
+		} else {
+			if( new3D != null )
+				sevents.removeScene(s3d);
+			sevents.addScene(scene);
+		}
 		if( disposePrevious ) {
 			if( new2D != null )
 				s2d.dispose();