Files
room_glitch/games/space_invaders/display.gd
T

14 lines
650 B
GDScript

@tool
extends Node2D
func _process(_delta: float) -> void:
material.set_shader_parameter("overlay",get_parent().color_overlay)
queue_redraw()
func _draw() -> void:
var available := get_viewport_rect().size if not Engine.is_editor_hint() else Vector2(672,768)
var scale_factor := minf(available.x/224,available.y/256)
# Whole-number enlargement preserves equal pixel widths whenever it fits.
if scale_factor>=1: scale_factor = floorf(scale_factor)
var size := Vector2(224,256)*scale_factor
draw_rect(Rect2(Vector2.ZERO,available),Color.BLACK)
draw_texture_rect($"../PixelScreen".get_texture(),Rect2(((available-size)*.5).floor(),size),false)