Demo: Init input via code to insure that demo works even when project.godot is not imported
This commit is contained in:
parent
5909735add
commit
91f3148493
|
@ -27,6 +27,7 @@ var attack_pressed: bool = false
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
super._ready()
|
super._ready()
|
||||||
can_dodge = true
|
can_dodge = true
|
||||||
|
_init_input_events()
|
||||||
_init_state_machine()
|
_init_state_machine()
|
||||||
death.connect(func(): remove_from_group(&"player"))
|
death.connect(func(): remove_from_group(&"player"))
|
||||||
|
|
||||||
|
@ -69,6 +70,28 @@ func _init_state_machine() -> void:
|
||||||
hsm.set_guard(_can_dodge)
|
hsm.set_guard(_can_dodge)
|
||||||
|
|
||||||
|
|
||||||
|
func _init_input_events() -> void:
|
||||||
|
# Note: Ensures that input events are present even if project.godot wasn't imported.
|
||||||
|
_add_action(&"move_left", KEY_A)
|
||||||
|
_add_action(&"move_right", KEY_D)
|
||||||
|
_add_action(&"move_up", KEY_W)
|
||||||
|
_add_action(&"move_down", KEY_S)
|
||||||
|
_add_action(&"dodge", KEY_SPACE)
|
||||||
|
_add_action(&"attack", KEY_ENTER, KEY_F)
|
||||||
|
|
||||||
|
|
||||||
|
func _add_action(p_action: StringName, p_key: Key, p_alt: Key = KEY_NONE) -> void:
|
||||||
|
if not InputMap.has_action(p_action):
|
||||||
|
InputMap.add_action(p_action)
|
||||||
|
var event := InputEventKey.new()
|
||||||
|
event.keycode = p_key
|
||||||
|
InputMap.action_add_event(p_action, event)
|
||||||
|
if p_alt != KEY_NONE:
|
||||||
|
var alt := InputEventKey.new()
|
||||||
|
alt.keycode = p_alt
|
||||||
|
InputMap.action_add_event(p_action, alt)
|
||||||
|
|
||||||
|
|
||||||
func set_victorious() -> void:
|
func set_victorious() -> void:
|
||||||
idle_state.idle_animation = &"dance"
|
idle_state.idle_animation = &"dance"
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
[gd_scene load_steps=14 format=3 uid="uid://clyhgbpfpmtw7"]
|
[gd_scene load_steps=15 format=3 uid="uid://clyhgbpfpmtw7"]
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://demo/scenes/game.gd" id="1_qw71e"]
|
[ext_resource type="Script" path="res://demo/scenes/game.gd" id="1_qw71e"]
|
||||||
[ext_resource type="Theme" uid="uid://boqtjf88xcpu4" path="res://demo/assets/ui.theme" id="2_r21q3"]
|
[ext_resource type="Theme" uid="uid://boqtjf88xcpu4" path="res://demo/assets/ui.theme" id="2_r21q3"]
|
||||||
|
@ -25,6 +25,12 @@ font_color = Color(1, 1, 0.239216, 1)
|
||||||
outline_size = 20
|
outline_size = 20
|
||||||
outline_color = Color(0.211521, 0.23888, 0.290166, 1)
|
outline_color = Color(0.211521, 0.23888, 0.290166, 1)
|
||||||
|
|
||||||
|
[sub_resource type="LabelSettings" id="LabelSettings_grcwx"]
|
||||||
|
font = ExtResource("4_w0vii")
|
||||||
|
font_size = 37
|
||||||
|
outline_size = 12
|
||||||
|
outline_color = Color(0.317525, 0.344884, 0.388373, 1)
|
||||||
|
|
||||||
[node name="Game" type="Node2D"]
|
[node name="Game" type="Node2D"]
|
||||||
y_sort_enabled = true
|
y_sort_enabled = true
|
||||||
script = ExtResource("1_qw71e")
|
script = ExtResource("1_qw71e")
|
||||||
|
@ -116,6 +122,25 @@ label_settings = SubResource("LabelSettings_628x3")
|
||||||
horizontal_alignment = 2
|
horizontal_alignment = 2
|
||||||
vertical_alignment = 1
|
vertical_alignment = 1
|
||||||
|
|
||||||
|
[node name="Keys" type="Label" parent="UI Layer/Control"]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 3
|
||||||
|
anchor_left = 1.0
|
||||||
|
anchor_top = 1.0
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
offset_left = -336.0
|
||||||
|
offset_top = -208.0
|
||||||
|
offset_right = -18.0
|
||||||
|
offset_bottom = -25.0
|
||||||
|
grow_horizontal = 0
|
||||||
|
grow_vertical = 0
|
||||||
|
text = "Move WASD
|
||||||
|
Dodge SPACE
|
||||||
|
Attack ENTER / F
|
||||||
|
"
|
||||||
|
label_settings = SubResource("LabelSettings_grcwx")
|
||||||
|
|
||||||
[node name="Arena" parent="." instance=ExtResource("9_k3uu1")]
|
[node name="Arena" parent="." instance=ExtResource("9_k3uu1")]
|
||||||
metadata/_edit_lock_ = true
|
metadata/_edit_lock_ = true
|
||||||
|
|
||||||
|
|
|
@ -24,41 +24,6 @@ window/size/window_width_override=1280
|
||||||
window/size/window_height_override=720
|
window/size/window_height_override=720
|
||||||
window/stretch/mode="canvas_items"
|
window/stretch/mode="canvas_items"
|
||||||
|
|
||||||
[input]
|
|
||||||
|
|
||||||
move_left={
|
|
||||||
"deadzone": 0.5,
|
|
||||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":97,"echo":false,"script":null)
|
|
||||||
]
|
|
||||||
}
|
|
||||||
move_right={
|
|
||||||
"deadzone": 0.5,
|
|
||||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"echo":false,"script":null)
|
|
||||||
]
|
|
||||||
}
|
|
||||||
move_up={
|
|
||||||
"deadzone": 0.5,
|
|
||||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":119,"echo":false,"script":null)
|
|
||||||
]
|
|
||||||
}
|
|
||||||
move_down={
|
|
||||||
"deadzone": 0.5,
|
|
||||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":115,"echo":false,"script":null)
|
|
||||||
]
|
|
||||||
}
|
|
||||||
attack={
|
|
||||||
"deadzone": 0.5,
|
|
||||||
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":1,"canceled":false,"pressed":false,"double_click":false,"script":null)
|
|
||||||
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194309,"key_label":0,"unicode":0,"echo":false,"script":null)
|
|
||||||
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":70,"key_label":0,"unicode":102,"echo":false,"script":null)
|
|
||||||
]
|
|
||||||
}
|
|
||||||
dodge={
|
|
||||||
"deadzone": 0.5,
|
|
||||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"echo":false,"script":null)
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
||||||
[layer_names]
|
[layer_names]
|
||||||
|
|
||||||
2d_physics/layer_1="Obstacle"
|
2d_physics/layer_1="Obstacle"
|
||||||
|
|
Loading…
Reference in New Issue