diff --git a/project.godot b/project.godot index 9b39c8d..158fca2 100644 --- a/project.godot +++ b/project.godot @@ -70,3 +70,8 @@ grab={ "events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":4,"position":Vector2(165, 21),"global_position":Vector2(174, 67),"factor":1.0,"button_index":3,"canceled":false,"pressed":true,"double_click":false,"script":null) ] } +run={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194325,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +] +} diff --git a/scenes/Map.tscn b/scenes/Map.tscn index ddfa328..1cb7551 100644 --- a/scenes/Map.tscn +++ b/scenes/Map.tscn @@ -3,7 +3,7 @@ [ext_resource type="Script" path="res://scripts/map.gd" id="1_3np0o"] [ext_resource type="PackedScene" uid="uid://6ferubyu2uy1" path="res://scenes/Scanners.tscn" id="1_6mlj0"] [ext_resource type="Texture2D" uid="uid://dtvde6oxrfuk1" path="res://assets/texture/ground.jpg" id="3_20ci8"] -[ext_resource type="PackedScene" path="res://objects/Animal.tscn" id="4_pkphc"] +[ext_resource type="PackedScene" uid="uid://cj457q2fx5mim" path="res://objects/Animal.tscn" id="4_pkphc"] [node name="Map" type="Node2D"] script = ExtResource("1_3np0o") diff --git a/scripts/camera.gd b/scripts/camera.gd index 426ce06..b3614a6 100644 --- a/scripts/camera.gd +++ b/scripts/camera.gd @@ -1,9 +1,10 @@ extends Camera2D const MOVEMENT_SPEED = 500 +const RUN_MULT = 2 const ZOOM_SPEED = 10 const ZOOM_WINDOW = [0.5, 2] -const SCREEN_BORDER_THRESHOLD = 10 +const SCREEN_BORDER_THRESHOLD = 40 var grabbing = false var mouse_last_global_position = Vector2() @@ -23,22 +24,22 @@ func _process(delta): if ( Input.is_action_pressed("right") - or mouse_pos.x > viewport_size.x - SCREEN_BORDER_THRESHOLD + or mouse_pos.x > viewport_size.x - SCREEN_BORDER_THRESHOLD and mouse_pos.x <= viewport_size.x ) : direction.x = 1 if ( Input.is_action_pressed("left") - or mouse_pos.x < 0 + SCREEN_BORDER_THRESHOLD + or mouse_pos.x < 0 + SCREEN_BORDER_THRESHOLD and mouse_pos.x >= 0 ): direction.x = -1 if ( Input.is_action_pressed("up") - or mouse_pos.y < 0 + SCREEN_BORDER_THRESHOLD + or mouse_pos.y < 0 + SCREEN_BORDER_THRESHOLD and mouse_pos.y >= 0 ): direction.y = -1 if ( Input.is_action_pressed("down") - or mouse_pos.y > viewport_size.y - SCREEN_BORDER_THRESHOLD + or mouse_pos.y > viewport_size.y - SCREEN_BORDER_THRESHOLD and mouse_pos.y <= viewport_size.y ): direction.y = 1 @@ -54,6 +55,9 @@ func _process(delta): movement += direction*MOVEMENT_SPEED*delta + if Input.is_action_pressed("run"): + movement *= RUN_MULT + move_camera_on_map(movement) mouse_last_global_position = get_global_mouse_position()