diff options
author | rom <romangraef@gmail.com> | 2021-04-24 18:49:18 +0200 |
---|---|---|
committer | rom <romangraef@gmail.com> | 2021-04-24 18:49:18 +0200 |
commit | c0898a98a43063ecaf2e26780f20a5c71c6e9407 (patch) | |
tree | c7ac4380f90e2b5852748ed68b930c8a6aa63c89 /components | |
parent | 0daf0132c6d9aa94e20ee81bdb9d0bb159546b85 (diff) | |
download | ldjam48-c0898a98a43063ecaf2e26780f20a5c71c6e9407.tar.gz ldjam48-c0898a98a43063ecaf2e26780f20a5c71c6e9407.tar.bz2 ldjam48-c0898a98a43063ecaf2e26780f20a5c71c6e9407.zip |
button
Diffstat (limited to 'components')
-rw-r--r-- | components/HackButton.gd | 27 | ||||
-rw-r--r-- | components/HackButton.tscn | 23 |
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"] |