Flip player component
This commit is contained in:
@@ -1,9 +1,10 @@
|
|||||||
[gd_scene load_steps=6 format=3 uid="uid://bqi5s710xb1ju"]
|
[gd_scene load_steps=7 format=3 uid="uid://bqi5s710xb1ju"]
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://scripts/player.gd" id="1_8j4h4"]
|
[ext_resource type="Script" path="res://scripts/player.gd" id="1_8j4h4"]
|
||||||
[ext_resource type="Texture2D" uid="uid://b7gp0gqvkv8j4" path="res://sprites/MrBrick_base.png" id="2_bc55y"]
|
[ext_resource type="Texture2D" uid="uid://b7gp0gqvkv8j4" path="res://sprites/MrBrick_base.png" id="2_bc55y"]
|
||||||
[ext_resource type="Texture2D" uid="uid://jl1gwqchhpdc" path="res://sprites/left_eye.png" id="3_2srrh"]
|
[ext_resource type="Texture2D" uid="uid://jl1gwqchhpdc" path="res://sprites/left_eye.png" id="3_2srrh"]
|
||||||
[ext_resource type="Texture2D" uid="uid://iiawtnwmeny3" path="res://sprites/right_eye.png" id="4_ccn81"]
|
[ext_resource type="Texture2D" uid="uid://iiawtnwmeny3" path="res://sprites/right_eye.png" id="4_ccn81"]
|
||||||
|
[ext_resource type="Script" path="res://scripts/components/flip_player.gd" id="5_geu10"]
|
||||||
|
|
||||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_hdsg1"]
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_hdsg1"]
|
||||||
size = Vector2(16, 31)
|
size = Vector2(16, 31)
|
||||||
@@ -29,3 +30,9 @@ hframes = 2
|
|||||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||||
position = Vector2(0, 0.5)
|
position = Vector2(0, 0.5)
|
||||||
shape = SubResource("RectangleShape2D_hdsg1")
|
shape = SubResource("RectangleShape2D_hdsg1")
|
||||||
|
|
||||||
|
[node name="FlipPlayerComponent" type="Node2D" parent="." node_paths=PackedStringArray("eye_left", "eye_right", "player_controller")]
|
||||||
|
script = ExtResource("5_geu10")
|
||||||
|
eye_left = NodePath("../Root/Left Eye")
|
||||||
|
eye_right = NodePath("../Root/Right Eye")
|
||||||
|
player_controller = NodePath("..")
|
||||||
|
23
scripts/components/flip_player.gd
Normal file
23
scripts/components/flip_player.gd
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
class_name FlipPlayerComponent
|
||||||
|
extends Node2D
|
||||||
|
|
||||||
|
@export var eye_left: Sprite2D
|
||||||
|
@export var eye_right: Sprite2D
|
||||||
|
@export var player_controller: PlayerController
|
||||||
|
|
||||||
|
func _process(_delta: float) -> void:
|
||||||
|
var velocity = player_controller.velocity
|
||||||
|
if velocity.x < 0:
|
||||||
|
eye_left.frame = 1
|
||||||
|
eye_right.frame = 1
|
||||||
|
eye_left.flip_h = true
|
||||||
|
eye_right.flip_h = true
|
||||||
|
elif velocity.x > 0:
|
||||||
|
eye_left.frame = 1
|
||||||
|
eye_right.frame = 1
|
||||||
|
eye_left.flip_h = false
|
||||||
|
eye_right.flip_h = false
|
||||||
|
else:
|
||||||
|
eye_left.frame = 0
|
||||||
|
eye_right.frame = 0
|
||||||
|
|
@@ -1,3 +1,4 @@
|
|||||||
|
class_name PlayerController
|
||||||
extends CharacterBody2D
|
extends CharacterBody2D
|
||||||
|
|
||||||
@export var speed: float = 300.0
|
@export var speed: float = 300.0
|
||||||
|
Reference in New Issue
Block a user