func spawn_object():
# Instance the object scene
var object_instance = object_scene.instantiate()
# just setting a value for now, it'll be changed later
var velocity = Vector2(1,1)
# Get the current screen dimensions
var screen_size = DisplayServer.window_get_size()
# we take a reference for the resolution in godot
var reference_resolution = Vector2(720, 1055)
#vector2 scale factor calculation
var scale_factor = Vector2(
screen_size.x / reference_resolution.x,
screen_size.y / reference_resolution.y)
var unified_scale = (screen_size.x / reference_resolution.x + screen_size.y / reference_resolution.y) / 2
# Randomly choose left or right side for spawn
var spawn_side = 0.2 # Random value between 0.0 and 1.0, 0.2 for left_side debugging
if spawn_side > 0.5:
# Off-screen to the right with random height
object_instance.position = Vector2(
screen_size.x,
randf_range((screen_size.y * 0.3), (screen_size.y * 0.7))
)
velocity.x = -randf_range(500, 700) * (screen_size.x/720) # Move left with adjusted velocity
else:
# Spawn off-screen to the left
object_instance.position = Vector2(
-(screen_size.x), # Dynamically adjust for the expanded width
randf_range((screen_size.y * 0.3), (screen_size.y * 0.7))
)
velocity.x = screen_size.x # Move right # move right with adjust velocity
#object scaling, object x velocity is set in the side section above
object_instance.scale = object_instance.scale
#setting y velocity based on screen size for simplicity
velocity.y = -randf_range(500, 700) * unified_scale * 0
velocity.x = velocity.x
#setting gravity based on screen size for simplicity
object_instance.gravity = screen_size.x * 0.8 * 0
#setting the velocity to the object
object_instance.velocity = velocity