StaticBody2D not appearing

Godot Version

Godot 4.2


I just started using Godot (and in-depth text based coding in general) after using Scratch for a couple of years. As my second project, I am trying to make a platformer. I have a CharacterBody2D with child nodes ColorRect and CollisionShape2D. I made some simple code to move the player around, and it’s working fine. I created a ground node originally with the same child nodes as a StaticBody2D. I later changed the ColorRect to a mesh, although I would prefer to use the ColorRect as it seems simpler. Both of those nodes are children of a base Node called main. I ran the project, and the player shows up just fine, but the ground is gone. I tried some setup with a script on the ground node that makes a vector, moves the ground to 200, 200, then setting its position there. Then I tried manually moving it to 200, 200, but still no luck. Any ideas?

draw a rect around the CollisionShape2D that is a child of StaticBody2D.

extends StaticBody2D

func _draw():
	var v_collision_shape : CollisionShape2D = get_node("MyCollisionShape2D")
	draw_rect(v_collision_shape.get_shape().get_rect() ,Color.RED, false, 5)

func _process(_a_delta):
	global_position = get_window().get_mouse_position()

That doesn’t seem to work, and if it did, why would I need to make a box around the ground and not around the player?

I still don’t know why I would need to draw a box. I also don’t know what happened. Since I wasn’t all that far in and really only have one script, I decided to copy over everything into a new project file. After some reorganization, (probably the reason it wasn’t working) everything worked.

Okay, I figured it out. I had made the ground a separate scene, and I shifted the ground down in both the main scene and the ground scene, which compounded, and pushed the ground offscreen.