This repository has been archived on 2023-04-11. You can view files and clone it, but cannot push or open issues or pull requests.

36 lines
896 B
GDScript

extends Camera2D
#-------------#
# Camera Zoom #
#-------------#
export var zoomDecelration = 4
export var zoomCapSpeed = 0.125
export var minZoom = 0.25
export var maxZoom = 0.5
var zoomChange = 0
func _ready():
zoom.x = (minZoom + maxZoom) / 2
zoom.y = (minZoom + maxZoom) / 2
func _process(delta):
CameraZoom(delta)
func _input(event):
if event is InputEventMouseButton:
if event.is_pressed():
if event.button_index == BUTTON_WHEEL_UP:
zoomChange = -zoomCapSpeed
if event.button_index == BUTTON_WHEEL_DOWN:
zoomChange = zoomCapSpeed
func CameraZoom(delta):
if(zoomChange > 0):
zoomChange = clamp(zoomChange - zoomDecelration * delta, 0, zoomCapSpeed)
elif(zoomChange < 0):
zoomChange = clamp(zoomChange + zoomDecelration * delta, -zoomCapSpeed, 0)
zoom.x = clamp(zoom.x + zoomChange, minZoom, maxZoom)
zoom.y = clamp(zoom.y + zoomChange, minZoom, maxZoom)