Proof of concept data disks, pharaoh character
This commit is contained in:
1 parent
f6d6e287f1
commit
5dd4c27430
14 files changed
+188
-6
No files matched your search
@@ -0,0 +1,7 @@
|
||||
extends Pickup
|
||||
|
||||
@export var disk_num: int
|
||||
|
||||
func _on_picked_up() -> void:
|
||||
%Player2D.give_disk(disk_num)
|
||||
print("Picked up disk ", disk_num)
|
||||
@@ -0,0 +1 @@
|
||||
uid://d1uqjaar8v5vi
|
||||
@@ -0,0 +1,28 @@
|
||||
[gd_scene format=3 uid="uid://b1e1nx60ng3tq"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://d1uqjaar8v5vi" path="res://disk.gd" id="1_olhq3"]
|
||||
[ext_resource type="Texture2D" uid="uid://b0l3mbvieqbnb" path="res://art/empty_tablet.png" id="3_olhq3"]
|
||||
[ext_resource type="AudioStream" uid="uid://f2xmq6cgiiwj" path="res://sound/coin.wav" id="4_5qg3x"]
|
||||
|
||||
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_6qpsl"]
|
||||
radius = 7.0
|
||||
height = 20.0
|
||||
|
||||
[node name="Disk" type="Node2D" unique_id=1739014101]
|
||||
script = ExtResource("1_olhq3")
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=813041394]
|
||||
texture = ExtResource("3_olhq3")
|
||||
|
||||
[node name="Area2D" type="Area2D" parent="." unique_id=170499029]
|
||||
scale = Vector2(1.3291091, 1)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D" unique_id=1865546056]
|
||||
shape = SubResource("CapsuleShape2D_6qpsl")
|
||||
|
||||
[node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="." unique_id=1778061188]
|
||||
stream = ExtResource("4_5qg3x")
|
||||
volume_db = 1.0
|
||||
|
||||
[connection signal="picked_up" from="." to="." method="_on_picked_up"]
|
||||
[connection signal="body_entered" from="Area2D" to="." method="on_contact"]
|
||||
@@ -17,7 +17,6 @@ dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.cte
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/high_quality_mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
@@ -26,8 +25,6 @@ compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
mipmaps/preserve_alpha_test_coverage=false
|
||||
mipmaps/alpha_test_threshold=0.5
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
class_name Interactable
|
||||
extends Node2D
|
||||
|
||||
signal interacted
|
||||
|
||||
var checked_teleport
|
||||
var telecam_speed_mult = 4
|
||||
var enabled = true
|
||||
var cooldown = 2
|
||||
var is_interactable = false
|
||||
|
||||
func disable():
|
||||
enabled = false
|
||||
$Sprite2D.modulate = Color.DARK_ORANGE
|
||||
|
||||
func enable():
|
||||
enabled = true
|
||||
$Sprite2D.modulate = Color.WHITE
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
if not (is_interactable and Input.is_action_just_released("interact")):
|
||||
return
|
||||
|
||||
interacted.emit()
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
pass
|
||||
|
||||
func _on_approach(body) -> void:
|
||||
if body!=%Player2D:
|
||||
return
|
||||
is_interactable = true
|
||||
|
||||
func _on_abandon(body) -> void:
|
||||
if body!=%Player2D:
|
||||
return
|
||||
is_interactable = false
|
||||
@@ -0,0 +1 @@
|
||||
uid://dbg7h6gp6hun8
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
extends Interactable
|
||||
|
||||
var disks_wanted = [1, 2, 3, 4, 5]
|
||||
var disks_loaded = []
|
||||
|
||||
func _ready() -> void:
|
||||
pass # Replace with function body.
|
||||
|
||||
func load_disk(disk_num: int) -> bool:
|
||||
if !disk_num or (disk_num in disks_loaded):
|
||||
return false
|
||||
|
||||
disks_loaded.push_back(disk_num)
|
||||
disks_wanted.remove_at(disks_wanted.find(disk_num))
|
||||
return true
|
||||
|
||||
func _on_interacted() -> void:
|
||||
var disk_num = %Player2D.take_disk()
|
||||
if not load_disk(disk_num):
|
||||
return
|
||||
|
||||
print("Loaded up disk ", disk_num)
|
||||
@@ -0,0 +1 @@
|
||||
uid://bh588bpddschq
|
||||
@@ -0,0 +1,23 @@
|
||||
[gd_scene format=3 uid="uid://dr8h8xij3qw2h"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bh588bpddschq" path="res://pharaoh.gd" id="1_mt7kg"]
|
||||
[ext_resource type="Texture2D" uid="uid://bfqc03jxmymdy" path="res://art/Pharaoh.png" id="2_mt7kg"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_eumkw"]
|
||||
size = Vector2(26, 32)
|
||||
|
||||
[node name="Pharaoh" type="Node2D" unique_id=1201409437]
|
||||
script = ExtResource("1_mt7kg")
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1680278216]
|
||||
texture = ExtResource("2_mt7kg")
|
||||
|
||||
[node name="Area2D" type="Area2D" parent="Sprite2D" unique_id=2050186824]
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Sprite2D/Area2D" unique_id=1560168165]
|
||||
position = Vector2(0, -8)
|
||||
shape = SubResource("RectangleShape2D_eumkw")
|
||||
|
||||
[connection signal="interacted" from="." to="." method="_on_interacted"]
|
||||
[connection signal="body_entered" from="Sprite2D/Area2D" to="." method="_on_approach"]
|
||||
[connection signal="body_exited" from="Sprite2D/Area2D" to="." method="_on_abandon"]
|
||||
@@ -0,0 +1,20 @@
|
||||
class_name Pickup
|
||||
extends Node2D
|
||||
|
||||
signal picked_up
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
pass # Replace with function body.
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta: float) -> void:
|
||||
pass
|
||||
|
||||
func on_contact(body: Node2D) -> void:
|
||||
print(body)
|
||||
$AudioStreamPlayer2D.play(0)
|
||||
visible = false
|
||||
picked_up.emit()
|
||||
await get_tree().create_timer(0.2).timeout
|
||||
queue_free()
|
||||
@@ -0,0 +1 @@
|
||||
uid://bun3ype8fkpv8
|
||||
+12
-1
@@ -18,6 +18,8 @@ var dashing = false
|
||||
var death_threshold = 1000
|
||||
var coins = 0
|
||||
|
||||
var data_disks = []
|
||||
|
||||
func _ready() -> void:
|
||||
DisplayServer.window_set_title("JUMPS EQUALS JUMPS")
|
||||
|
||||
@@ -32,7 +34,16 @@ func refresh_jump(new_jumps):
|
||||
jumps = new_jumps
|
||||
else:
|
||||
jumps = 1
|
||||
|
||||
|
||||
func give_disk(disk_num: int) -> void:
|
||||
data_disks.push_back(disk_num)
|
||||
|
||||
func take_disk() -> int:
|
||||
var disk_num = data_disks.pop_back()
|
||||
if disk_num:
|
||||
return disk_num
|
||||
return 0
|
||||
|
||||
func on_teleport():
|
||||
refresh_jump(1)
|
||||
teleport_cooldown = 1
|
||||
|
||||
@@ -360,6 +360,27 @@ controller_restart_right={
|
||||
"script": null
|
||||
)]
|
||||
}
|
||||
interact={
|
||||
"deadzone": 0.2,
|
||||
"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": 69,
|
||||
"key_label": 0,
|
||||
"unicode": 101,
|
||||
"location": 0,
|
||||
"echo": false,
|
||||
"script": null
|
||||
)]
|
||||
}
|
||||
|
||||
[input_devices]
|
||||
|
||||
|
||||
+14
-2
@@ -10,10 +10,12 @@
|
||||
[ext_resource type="PackedScene" uid="uid://bos6oh7nwyeca" path="res://vertical_long_block.tscn" id="4_pkg7o"]
|
||||
[ext_resource type="PackedScene" uid="uid://biot4cuwgohvo" path="res://longer_block.tscn" id="6_dwbse"]
|
||||
[ext_resource type="PackedScene" uid="uid://kstmxoa4dx55" path="res://coin.tscn" id="8_ioo17"]
|
||||
[ext_resource type="PackedScene" uid="uid://b1e1nx60ng3tq" path="res://disk.tscn" id="10_2u3nc"]
|
||||
[ext_resource type="Texture2D" uid="uid://s3h6tpypoee0" path="res://art/music_button.png" id="12_2o6r5"]
|
||||
[ext_resource type="PackedScene" uid="uid://c8m4d77hcr0pj" path="res://spike.tscn" id="12_k3n1d"]
|
||||
[ext_resource type="Texture2D" uid="uid://dxgnkftqtyt53" path="res://art/music_button_disabled.png" id="13_70uel"]
|
||||
[ext_resource type="Script" uid="uid://d3rx82psovcpp" path="res://music_button.gd" id="14_70uel"]
|
||||
[ext_resource type="PackedScene" uid="uid://dr8h8xij3qw2h" path="res://pharaoh.tscn" id="15_hiqwa"]
|
||||
|
||||
[node name="World" type="Node2D" unique_id=1327991900]
|
||||
process_mode = 3
|
||||
@@ -144,6 +146,10 @@ position = Vector2(0, -58.094738)
|
||||
[node name="Coin4" parent="Tutorial" unique_id=1504473184 instance=ExtResource("8_ioo17")]
|
||||
position = Vector2(0, -85.66513)
|
||||
|
||||
[node name="Disk" parent="Tutorial" unique_id=514380026 instance=ExtResource("10_2u3nc")]
|
||||
position = Vector2(213, 95.511696)
|
||||
disk_num = 1
|
||||
|
||||
[node name="ZoeLevel" type="Node2D" parent="." unique_id=980267417]
|
||||
|
||||
[node name="LongBlock4" parent="ZoeLevel" unique_id=469408536 instance=ExtResource("6_dwbse")]
|
||||
@@ -180,8 +186,10 @@ script = ExtResource("2_dwbse")
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_top = 23.0
|
||||
offset_bottom = 23.0
|
||||
offset_left = 3.0
|
||||
offset_top = 32.0
|
||||
offset_right = 3.0
|
||||
offset_bottom = 32.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
bbcode_enabled = true
|
||||
@@ -208,4 +216,8 @@ texture_pressed = ExtResource("13_70uel")
|
||||
texture_disabled = ExtResource("13_70uel")
|
||||
script = ExtResource("14_70uel")
|
||||
|
||||
[node name="Pharaoh" parent="." unique_id=44054531 instance=ExtResource("15_hiqwa")]
|
||||
unique_name_in_owner = true
|
||||
position = Vector2(192, 185.11545)
|
||||
|
||||
[connection signal="toggled" from="CanvasLayer/MusicButton" to="CanvasLayer/MusicButton" method="_on_toggled"]
|
||||
Reference in new issue
Block a user