summaryrefslogtreecommitdiff
path: root/components
diff options
context:
space:
mode:
authorrom <romangraef@gmail.com>2021-04-24 18:49:18 +0200
committerrom <romangraef@gmail.com>2021-04-24 18:49:18 +0200
commitc0898a98a43063ecaf2e26780f20a5c71c6e9407 (patch)
treec7ac4380f90e2b5852748ed68b930c8a6aa63c89 /components
parent0daf0132c6d9aa94e20ee81bdb9d0bb159546b85 (diff)
downloadldjam48-c0898a98a43063ecaf2e26780f20a5c71c6e9407.tar.gz
ldjam48-c0898a98a43063ecaf2e26780f20a5c71c6e9407.tar.bz2
ldjam48-c0898a98a43063ecaf2e26780f20a5c71c6e9407.zip
button
Diffstat (limited to 'components')
-rw-r--r--components/HackButton.gd27
-rw-r--r--components/HackButton.tscn23
2 files changed, 50 insertions, 0 deletions
diff --git a/components/HackButton.gd b/components/HackButton.gd
new file mode 100644
index 0000000..9dc1b30
--- /dev/null
+++ b/components/HackButton.gd
@@ -0,0 +1,27 @@
+extends Area2D
+
+signal on_click()
+
+var is_hovered = false
+
+onready var sprite : Sprite = $Sprite
+export(String, FILE, '*.png') var hovered_texture = "res://textures/blauuu.png"
+onready var _hovered_texture : Texture = load(hovered_texture)
+onready var _default_texture : Texture = sprite.texture
+
+func _on_HackButton_mouse_entered():
+ is_hovered = true
+ sprite.texture = _hovered_texture
+
+func _on_HackButton_mouse_exited():
+ is_hovered = false
+ sprite.texture = _default_texture
+
+
+func _on_HackButton_input_event(viewport, event, shape_idx):
+ if not (event is InputEventMouseButton):
+ return
+ if not event.pressed:
+ return
+ emit_signal("on_click")
+
diff --git a/components/HackButton.tscn b/components/HackButton.tscn
new file mode 100644
index 0000000..afafb61
--- /dev/null
+++ b/components/HackButton.tscn
@@ -0,0 +1,23 @@
+[gd_scene load_steps=4 format=2]
+
+[ext_resource path="res://textures/rooot.png" type="Texture" id=1]
+[ext_resource path="res://components/HackButton.gd" type="Script" id=2]
+
+[sub_resource type="RectangleShape2D" id=1]
+extents = Vector2( 100, 100 )
+
+[node name="HackButton" type="Area2D"]
+monitoring = false
+monitorable = false
+script = ExtResource( 2 )
+
+[node name="Sprite" type="Sprite" parent="."]
+scale = Vector2( 0.5, 0.5 )
+texture = ExtResource( 1 )
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
+shape = SubResource( 1 )
+
+[connection signal="input_event" from="." to="." method="_on_HackButton_input_event"]
+[connection signal="mouse_entered" from="." to="." method="_on_HackButton_mouse_entered"]
+[connection signal="mouse_exited" from="." to="." method="_on_HackButton_mouse_exited"]