Skip to content

Commit

Permalink
Fix camera movement
Browse files Browse the repository at this point in the history
Use position instead of offset
  • Loading branch information
Federico-Ciuffardi committed Dec 29, 2020
1 parent 917a9fc commit 6d1dd15
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions GCC2D.gd
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@ func _unhandled_input(e):

# Given a a position on the camera returns to the corresponding global position
func camera2global(position):
var camera_center = global_position + offset
var camera_center = global_position + position
var from_camera_center_pos = position - get_camera_center_offset()
return camera_center + (from_camera_center_pos*zoom).rotated(rotation)

func _move(event):
offset -= (event.relative*zoom).rotated(rotation)
position -= (event.relative*zoom).rotated(rotation)

func _zoom(event):
var li = event.distance
Expand All @@ -43,13 +43,13 @@ func _zoom(event):
zd = zf - zi

var from_camera_center_pos = event.position - get_camera_center_offset()
offset -= (from_camera_center_pos*zd).rotated(rotation)
position -= (from_camera_center_pos*zd).rotated(rotation)
zoom = zf*Vector2.ONE

func _rotate(event):
var fccp = (event.position - get_camera_center_offset()) # from_camera_center_pos = fccp
var fccp_op_rot = -fccp.rotated(event.relative)
offset -= ((fccp_op_rot + fccp)*zoom).rotated(rotation-event.relative)
position -= ((fccp_op_rot + fccp)*zoom).rotated(rotation-event.relative)
rotation -= event.relative

func get_camera_center_offset():
Expand Down

0 comments on commit 6d1dd15

Please sign in to comment.