Make camera offset to player's direction
This commit is contained in:
parent
26480fca74
commit
c404f0197b
@ -111,10 +111,6 @@ position = Vector2(449, -466)
|
||||
[node name="Player" parent="." instance=ExtResource("3_blhoc")]
|
||||
position = Vector2(535, 571)
|
||||
|
||||
[node name="Camera2D" type="Camera2D" parent="Player"]
|
||||
zoom = Vector2(0.6, 0.6)
|
||||
position_smoothing_enabled = true
|
||||
|
||||
[node name="Projectiles" type="Node2D" parent="."]
|
||||
|
||||
[connection signal="player_entered_gate" from="Gate" to="." method="_on_gate_player_entered_gate"]
|
||||
|
5
scenes/player/camera.gd
Normal file
5
scenes/player/camera.gd
Normal file
@ -0,0 +1,5 @@
|
||||
extends Camera2D
|
||||
|
||||
func handle_offset(dir: Vector2, delta: float):
|
||||
var desired_offset = dir*500
|
||||
offset = offset.lerp(desired_offset, delta*2)
|
@ -13,6 +13,9 @@ func _process(_delta):
|
||||
|
||||
look_at(get_global_mouse_position())
|
||||
|
||||
var player_direction = (get_global_mouse_position() - position).normalized()
|
||||
$Camera.handle_offset(player_direction, _delta)
|
||||
|
||||
if Input.is_action_just_pressed("primary action") and can_laser:
|
||||
can_laser = false
|
||||
$LaserTimer.start()
|
||||
@ -21,15 +24,12 @@ func _process(_delta):
|
||||
var laser_markers = $LaserStartPositions.get_children()
|
||||
var selected_laser = laser_markers[randi() % laser_markers.size()]
|
||||
|
||||
var player_direction = (get_global_mouse_position() - position).normalized()
|
||||
|
||||
laser_fired.emit(selected_laser.global_position, player_direction)
|
||||
|
||||
if Input.is_action_just_pressed("secondary action") and can_grenade:
|
||||
can_grenade = false
|
||||
$GrenadeTimer.start()
|
||||
var grenade_marker = $GrenadeStartPositions/GrenadeMarker1
|
||||
var player_direction = (get_global_mouse_position() - position).normalized()
|
||||
|
||||
grenade_thrown.emit(grenade_marker.global_position, player_direction)
|
||||
|
||||
|
@ -1,7 +1,8 @@
|
||||
[gd_scene load_steps=4 format=3 uid="uid://cdo8mdy41ooe8"]
|
||||
[gd_scene load_steps=5 format=3 uid="uid://cdo8mdy41ooe8"]
|
||||
|
||||
[ext_resource type="Script" path="res://scenes/player/player.gd" id="1_v2hsv"]
|
||||
[ext_resource type="Texture2D" uid="uid://dqo0m7ok23wh6" path="res://graphics/player/player.png" id="1_x6dmn"]
|
||||
[ext_resource type="Script" path="res://scenes/player/camera.gd" id="3_uf66x"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_aph52"]
|
||||
radius = 12.641
|
||||
@ -44,5 +45,10 @@ position = Vector2(115, 3)
|
||||
[node name="GrenadeMarker1" type="Marker2D" parent="GrenadeStartPositions"]
|
||||
position = Vector2(115, 0)
|
||||
|
||||
[node name="Camera" type="Camera2D" parent="."]
|
||||
zoom = Vector2(0.75, 0.75)
|
||||
position_smoothing_enabled = true
|
||||
script = ExtResource("3_uf66x")
|
||||
|
||||
[connection signal="timeout" from="LaserTimer" to="." method="_on_laser_timeout"]
|
||||
[connection signal="timeout" from="GrenadeTimer" to="." method="_on_grenade_timer_timeout"]
|
||||
|
@ -4,5 +4,4 @@ extends Area2D
|
||||
var direction: Vector2 = Vector2.UP
|
||||
|
||||
func _process(delta):
|
||||
|
||||
position += direction * speed * delta
|
||||
|
Loading…
Reference in New Issue
Block a user