Camera look-aside
This commit is contained in:
		
							parent
							
								
									3edd225cb4
								
							
						
					
					
						commit
						6021b79707
					
				
					 2 changed files with 29 additions and 16 deletions
				
			
		| 
						 | 
				
			
			@ -9,6 +9,7 @@ func current_state():
 | 
			
		|||
@onready var stm = $StateMachine
 | 
			
		||||
@onready var animation_player = $AnimationPlayer
 | 
			
		||||
@onready var player_character_sprite = $PlayerCharacterSprite
 | 
			
		||||
@onready var camera = $Camera
 | 
			
		||||
@onready var air = $StateMachine/Air
 | 
			
		||||
@onready var run = $StateMachine/Run
 | 
			
		||||
@onready var dash = $StateMachine/Dash
 | 
			
		||||
| 
						 | 
				
			
			@ -36,6 +37,8 @@ var hit_time_tmp: float
 | 
			
		|||
var hit_active := false
 | 
			
		||||
 | 
			
		||||
@export var pogo_jump: float
 | 
			
		||||
@export var camera_look_aside := 0.0
 | 
			
		||||
@export var camera_look_aside_transition_speed := 0.0
 | 
			
		||||
 | 
			
		||||
var lives := 5
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -48,6 +51,7 @@ var previous_input_dir := get_dir()
 | 
			
		|||
var previous_velocity := Vector2.ZERO
 | 
			
		||||
 | 
			
		||||
func _ready():
 | 
			
		||||
	camera
 | 
			
		||||
	stm.state_debug_stat = { "key": "player state" }
 | 
			
		||||
	stm.state_debug_log = { "description": "player state" }
 | 
			
		||||
	air.jump_debug_stat = { "key": "player jump curve" }
 | 
			
		||||
| 
						 | 
				
			
			@ -80,6 +84,13 @@ func play_anim(anim_name):
 | 
			
		|||
func _physics_process(delta):
 | 
			
		||||
	# Looking right (both animation and logic)
 | 
			
		||||
	update_looking_right()
 | 
			
		||||
	# Update camera position
 | 
			
		||||
	var camera_pos_target = camera_look_aside if looking_right else - camera_look_aside
 | 
			
		||||
	camera.position.x = lerp(
 | 
			
		||||
		camera.position.x,
 | 
			
		||||
		camera_pos_target,
 | 
			
		||||
		delta * camera_look_aside_transition_speed
 | 
			
		||||
	)
 | 
			
		||||
	# Flip player nodes that want to be flipped
 | 
			
		||||
	for child in self.find_children("*"):
 | 
			
		||||
		if child.is_in_group("flip_me"):
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -185,6 +185,21 @@ height = 158.0
 | 
			
		|||
radius = 60.0
 | 
			
		||||
height = 156.0
 | 
			
		||||
 | 
			
		||||
[sub_resource type="Animation" id="Animation_q7xwy"]
 | 
			
		||||
length = 0.001
 | 
			
		||||
tracks/0/type = "value"
 | 
			
		||||
tracks/0/imported = false
 | 
			
		||||
tracks/0/enabled = true
 | 
			
		||||
tracks/0/path = NodePath("StateMachine/Dash/DashParticles:emitting")
 | 
			
		||||
tracks/0/interp = 1
 | 
			
		||||
tracks/0/loop_wrap = true
 | 
			
		||||
tracks/0/keys = {
 | 
			
		||||
"times": PackedFloat32Array(0),
 | 
			
		||||
"transitions": PackedFloat32Array(1),
 | 
			
		||||
"update": 1,
 | 
			
		||||
"values": [false]
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
[sub_resource type="Animation" id="Animation_4posc"]
 | 
			
		||||
resource_name = "dash"
 | 
			
		||||
length = 0.3
 | 
			
		||||
| 
						 | 
				
			
			@ -201,21 +216,6 @@ tracks/0/keys = {
 | 
			
		|||
"values": [true, false]
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
[sub_resource type="Animation" id="Animation_q7xwy"]
 | 
			
		||||
length = 0.001
 | 
			
		||||
tracks/0/type = "value"
 | 
			
		||||
tracks/0/imported = false
 | 
			
		||||
tracks/0/enabled = true
 | 
			
		||||
tracks/0/path = NodePath("StateMachine/Dash/DashParticles:emitting")
 | 
			
		||||
tracks/0/interp = 1
 | 
			
		||||
tracks/0/loop_wrap = true
 | 
			
		||||
tracks/0/keys = {
 | 
			
		||||
"times": PackedFloat32Array(0),
 | 
			
		||||
"transitions": PackedFloat32Array(1),
 | 
			
		||||
"update": 1,
 | 
			
		||||
"values": [false]
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_6txnh"]
 | 
			
		||||
_data = {
 | 
			
		||||
"RESET": SubResource("Animation_q7xwy"),
 | 
			
		||||
| 
						 | 
				
			
			@ -231,6 +231,8 @@ double_jump_delay = 0.1
 | 
			
		|||
dash_time = 0.22
 | 
			
		||||
hit_time = 0.2
 | 
			
		||||
pogo_jump = 300.0
 | 
			
		||||
camera_look_aside = 40.0
 | 
			
		||||
camera_look_aside_transition_speed = 3.0
 | 
			
		||||
 | 
			
		||||
[node name="StateMachine" type="Node2D" parent="."]
 | 
			
		||||
script = ExtResource("2_ae3rk")
 | 
			
		||||
| 
						 | 
				
			
			@ -278,7 +280,7 @@ position = Vector2(0, 4)
 | 
			
		|||
shape = SubResource("RectangleShape2D_wvy82")
 | 
			
		||||
debug_color = Color(0.7, 0.408333, 0, 0.419608)
 | 
			
		||||
 | 
			
		||||
[node name="Camera2D" type="Camera2D" parent="."]
 | 
			
		||||
[node name="Camera" type="Camera2D" parent="." groups=["flip_me"]]
 | 
			
		||||
process_callback = 0
 | 
			
		||||
position_smoothing_enabled = true
 | 
			
		||||
editor_draw_limits = true
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue