Hello, I created a simple script to instantiate wall where the player has click. It work fine but I don't know why, when I instantiate 2 or more walls, the only one my player can collide with is the last one. Does anyone have an idea ?
func _input(event):
if (event is InputEventMouseButton
&& event.button_index == MOUSE_BUTTON_LEFT
&& event.pressed):
if (firstVertex == Vector2.ZERO):
firstVertex = event.position
else:
var secondVertex: Vector2 = event.position
initWall(firstVertex, secondVertex)
firstVertex = Vector2.ZERO
func initWall(firstVertex: Vector2, secondVertex: Vector2):
var vector: Vector2 = secondVertex - firstVertex
var newWall = WALL_SCENE.instantiate()
var collisionShape2D = newWall.get_child(0)
var sprite2D = collisionShape2D.get_child(0)
newWall.name = "Wall_" + str(wallCount)
wallCount += 1
collisionShape2D.shape.a = firstVertex
collisionShape2D.shape.b = secondVertex
sprite2D.position = (firstVertex + secondVertex) / 2
sprite2D.rotation = vector.angle()
sprite2D.scale.x = vector.length() / 6000
add_child(newWall)