I have a requirement in my touch enabled game where I need to move the camera by dragging the mouse to scroll through the level. I also have elements in my game that can be placed by clicking on the screen and removed by clicking and dragging them to a trash can. I am using Area2D with a sprite for the trash can and using the area_entered signal to detect the element to be deleted. I need the trashcan to remain in a corner of the screen even when the camera is being moved. For this, I have used a canvas layer with a control node as its child.
The Control node is to position the Area2D inside its FullRect.
Now the arrangement seems to work perfectly and the trash area is visibly stationery on the screen when camera is dragged around.
But when the camera is dragged away from its initial position, the Area2D's detection area is fixed at a global position and does not move along with the Area2D and its sprite. So now, when the camera is dragged to the right, the trash's actual detection area is to the left of where the sprite is. Looks like the detection area is fixed at a global position and not moving along with its parent.
I have also checked the collision shape using "visible collision shapes" in debug mode and it appears to be moving along with the Area2D.
Is anyone aware of this buggy behaviour and can provide any suggestions on it?