Well, mostly, I've solved this by adjusting the 'OS.set_window_position
' follow to my character's 'global_position
', setting the screen size to a little larger than the character's size., and instancing a second character that has the same position with a Camera2D.current(true)
following it. <--Using that as a script attached to my current_scene (parent of character), along with the stuff in the OG post I made (above), it works pretty well (Some polish and debug required...) Nom, pasta code:
extends Node2d
onready var ss = get_viewport_rect().size
func _ready():
OS.set_window_position(ss)
get_tree().get_root().set_transparent_background(true)
$player.position = Vector2(480,540)
$player/Camera2D.current = true
func _physics_process(_delta):
OS.set_window_always_on_top(true)
$Polygon2D.polygon = [Vector2.ZERO,
Vector2.RIGHT*ss*2,
Vector2.ONE*ss*2,
Vector2.DOWN*ss*2]
OS.set_window_mouse_passthrough($Polygon2D.polygon)
OS.set_window_position($player.get_global_position())
$player2.global_position = $player.get_global_position()
errrr... something like that...
I'm thinking this has an easier way but for now I can use OS.execute() to bring up several of these mini windows, each as their own process and with their own unique properties.
A side effect I hadn't considered, by adding a background to the current_scene, this whole mess begins to look like a fog of war on my desktop!! :D
OS is really cool!! I <3 Godot!