add pointlight to player

This commit is contained in:
yuki 2025-11-24 18:51:54 -03:00
parent 68032cbacf
commit 0bed3833f8
4 changed files with 82 additions and 1 deletions

Binary file not shown.

View file

@ -0,0 +1,20 @@
[remap]
importer="aseprite_wizard.plugin.static-texture"
type="PortableCompressedTexture2D"
uid="uid://5mm8pi5i0yal"
path="res://.godot/imported/pointlight_texture.aseprite-ac5a4cb751aff2ed94143cd2b9f18e95.res"
[deps]
source_file="res://scenes/player/assets/pointlight_texture.aseprite"
dest_files=["res://.godot/imported/pointlight_texture.aseprite-ac5a4cb751aff2ed94143cd2b9f18e95.res"]
[params]
layer/exclude_layers_pattern=""
layer/only_visible_layers=false
first_frame_only=true
sheet/sheet_type="packed"
sheet/sheet_columns=12
sheet/scale=1

View file

@ -1,12 +1,16 @@
class_name Player extends CharacterBody2D
signal point_light_toggled(enabled: bool, energy: float)
const DEADZONE = 0.1
@export var max_speed: float = 300.0
@onready var sprite: AnimatedSprite2D = $AnimatedSprite2D
@onready var state_machine: StateMachine = $PlayerStateMachine
@onready var point_light: PointLight2D = $PointLight2D
@onready var animation_player: AnimationPlayer = $AnimationPlayer
var h_press_tick: int = 0 ## last time horizontal axis was pressed
var v_press_tick: int = 0 ## last time vertical axis was pressed
@ -75,3 +79,12 @@ func _on_loop_toggled(enabled: bool, loop_size: Rect2i) -> void:
wrapping = true
else: wrapping = false
func enable_point_light(enabled: bool, energy: float = 0) -> void:
point_light.enabled = enabled
point_light.energy = energy
if enabled: animation_player.play("default")
else: animation_player.pause()
point_light_toggled.emit(enabled, energy)

View file

@ -1,10 +1,48 @@
[gd_scene load_steps=7 format=3 uid="uid://cqm5besqgsb7x"]
[gd_scene load_steps=11 format=3 uid="uid://cqm5besqgsb7x"]
[ext_resource type="Script" uid="uid://dpsocqnk0e6le" path="res://scenes/player/player.gd" id="1_dovo2"]
[ext_resource type="SpriteFrames" uid="uid://6v5nyv2wo47g" path="res://scenes/player/assets/yukotsuki.aseprite" id="2_dovo2"]
[ext_resource type="Script" uid="uid://diths5s8vd7lr" path="res://classes/state_machine/state_machine.gd" id="2_lvxji"]
[ext_resource type="Script" uid="uid://cl6snimpmxcvu" path="res://scenes/player/states/player_idle.gd" id="3_p47bc"]
[ext_resource type="Script" uid="uid://bg5fu1ildsdnq" path="res://scenes/player/states/player_walking.gd" id="4_p47bc"]
[ext_resource type="Texture2D" uid="uid://5mm8pi5i0yal" path="res://scenes/player/assets/pointlight_texture.aseprite" id="5_75vfm"]
[sub_resource type="Animation" id="Animation_75vfm"]
resource_name = "default"
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("PointLight2D:offset:y")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.5),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [-14.0, -15.0]
}
[sub_resource type="Animation" id="Animation_0owmy"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("PointLight2D:offset:y")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [0.0]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_qek5x"]
_data = {
&"RESET": SubResource("Animation_0owmy"),
&"default": SubResource("Animation_75vfm")
}
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_gmlin"]
radius = 6.0
@ -30,6 +68,16 @@ metadata/_custom_type_script = "uid://bebe1y51hwns8"
script = ExtResource("4_p47bc")
metadata/_custom_type_script = "uid://bebe1y51hwns8"
[node name="PointLight2D" type="PointLight2D" parent="."]
enabled = false
energy = 0.0
texture = ExtResource("5_75vfm")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_qek5x")
}
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
position = Vector2(0, -16)
sprite_frames = ExtResource("2_dovo2")