Fix Area2D and CharacterBody2D tests (#141)

Tests were arranging objects in window rather than viewport coordinates.
This was causing performance changes based on window scale.
This commit is contained in:
Schnorg
2026-08-26 07:12:18 +10:00
committed by GitHub
parent 1a3e7d6f8e
commit ef3a94f131
2 changed files with 7 additions and 7 deletions

View File

@@ -7,7 +7,7 @@ class TestScene:
var num_character_bodies: int var num_character_bodies: int
var num_area_2d: int var num_area_2d: int
var area_2d_nodes: Array[Area2D] var area_2d_nodes: Array[Area2D]
var window_size: Vector2i var viewport_size: Vector2
var time_accum := 0.0 var time_accum := 0.0
var shapes: Array[Shape2D] = [ var shapes: Array[Shape2D] = [
RectangleShape2D.new(), RectangleShape2D.new(),
@@ -31,11 +31,11 @@ class TestScene:
meshes[2].height = 20.0 meshes[2].height = 20.0
func _ready() -> void: func _ready() -> void:
window_size = get_window().size viewport_size = get_viewport_rect().size
for i in num_character_bodies: for i in num_character_bodies:
var character_body := CharacterBody2D.new() var character_body := CharacterBody2D.new()
character_body.position = Vector2( character_body.position = Vector2(
randf_range(0.0, window_size.x), randf_range(0.0, window_size.y) randf_range(0.0, viewport_size.x), randf_range(0.0, viewport_size.y)
) )
add_random_shape(character_body) add_random_shape(character_body)
add_child(character_body) add_child(character_body)
@@ -43,7 +43,7 @@ class TestScene:
for i in num_area_2d: for i in num_area_2d:
var area_2d := Area2D.new() var area_2d := Area2D.new()
area_2d.position = Vector2( area_2d.position = Vector2(
randf_range(0.0, window_size.x), randf_range(0.0, window_size.y) randf_range(0.0, viewport_size.x), randf_range(0.0, viewport_size.y)
) )
add_random_shape(area_2d) add_random_shape(area_2d)
add_child(area_2d) add_child(area_2d)

View File

@@ -12,7 +12,7 @@ class TestScene:
var n_of_character_bodies: int var n_of_character_bodies: int
var character_bodies: Array[CharacterBody2D] = [] var character_bodies: Array[CharacterBody2D] = []
var capsule_mesh := CapsuleMesh.new() var capsule_mesh := CapsuleMesh.new()
var window_size: Vector2i var viewport_size: Vector2
func _init(_n_of_character_bodies: int) -> void: func _init(_n_of_character_bodies: int) -> void:
n_of_character_bodies = _n_of_character_bodies n_of_character_bodies = _n_of_character_bodies
@@ -20,13 +20,13 @@ class TestScene:
capsule_mesh.height = 28.0 capsule_mesh.height = 28.0
func _ready() -> void: func _ready() -> void:
window_size = get_window().size viewport_size = get_viewport_rect().size
tile_map_node = tile_map_scene.instantiate() tile_map_node = tile_map_scene.instantiate()
add_child(tile_map_node) add_child(tile_map_node)
for i in n_of_character_bodies: for i in n_of_character_bodies:
var body := CharacterBody2D.new() var body := CharacterBody2D.new()
body.position = Vector2( body.position = Vector2(
randf_range(0.0, window_size.x), randf_range(0.0, window_size.y) randf_range(0.0, viewport_size.x), randf_range(0.0, viewport_size.y)
) )
var collision_shape := CollisionShape2D.new() var collision_shape := CollisionShape2D.new()
collision_shape.shape = CapsuleShape2D.new() collision_shape.shape = CapsuleShape2D.new()