add pointlight to player
This commit is contained in:
parent
68032cbacf
commit
0bed3833f8
4 changed files with 82 additions and 1 deletions
BIN
scenes/player/assets/pointlight_texture.aseprite
Normal file
BIN
scenes/player/assets/pointlight_texture.aseprite
Normal file
Binary file not shown.
20
scenes/player/assets/pointlight_texture.aseprite.import
Normal file
20
scenes/player/assets/pointlight_texture.aseprite.import
Normal 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
|
||||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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")
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue