summaryrefslogtreecommitdiffhomepage
path: root/app
diff options
context:
space:
mode:
authorarngo <[email protected]>2021-12-19 16:51:50 -0500
committerarngo <[email protected]>2021-12-19 16:51:50 -0500
commitc16f16066f1943a8c2d4178583578705e71e7794 (patch)
treec2b28cfe5fd36d9ab9a7b004e2f72a48c7c8a023 /app
parent196e18f1fd61ea9ef0e985bf9a6463a1188747c9 (diff)
downloadSteelWings-c16f16066f1943a8c2d4178583578705e71e7794.tar.gz
SteelWings-c16f16066f1943a8c2d4178583578705e71e7794.zip
make button change sprite when pressed/unpressed
Diffstat (limited to 'app')
-rw-r--r--app/components/button.rb2
-rw-r--r--app/systems/init_title_screen.rb4
-rw-r--r--app/systems/title_screen.rb12
3 files changed, 10 insertions, 8 deletions
diff --git a/app/components/button.rb b/app/components/button.rb
index 8f9126f..097ca51 100644
--- a/app/components/button.rb
+++ b/app/components/button.rb
@@ -1,3 +1,5 @@
FF::Cmp.new('Button',
:action,
+ :pressed_sprite_path,
+ :unpressed_sprite_path,
clicked: false)
diff --git a/app/systems/init_title_screen.rb b/app/systems/init_title_screen.rb
index 66873df..04c4978 100644
--- a/app/systems/init_title_screen.rb
+++ b/app/systems/init_title_screen.rb
@@ -11,10 +11,10 @@ FF::Sys.new('InitTitleScreen', priority: 1) do
sprite.props[:y] = btn_y
sprite.props[:w] = btn_w
sprite.props[:h] = btn_h
- sprite.props[:path] = 'sprites/title/start.png'
+ #sprite.props[:path] = 'sprites/title/start.png'
# start button
FF::Ent.new(
- FF::Cmp::Button.new(action: FF::Sys::StartGame),
+ FF::Cmp::Button.new(action: FF::Sys::StartGame, pressed_sprite_path: 'sprites/title/start_pressed.png', unpressed_sprite_path: 'sprites/title/start.png'),
FF::Cmp::Hitbox.new(x: btn_x, y: btn_y, w: btn_w, h: btn_h),
sprite,
FF::Cmp::Title[0]
diff --git a/app/systems/title_screen.rb b/app/systems/title_screen.rb
index 0229720..0fa0a81 100644
--- a/app/systems/title_screen.rb
+++ b/app/systems/title_screen.rb
@@ -11,15 +11,15 @@ FF::Scn::TitleScreen.add(
if mouse.x > hitbox.x and mouse.x < hitbox.x + hitbox.w and mouse.y > hitbox.y and mouse.y < hitbox.y + hitbox.h
if $gtk.args.inputs.mouse.down
btn.clicked = true
- #sprite.props[:path] = ''
- else
+ sprite.props[:path] = btn.pressed_sprite_path
+ elsif $gtk.args.inputs.mouse.up and btn.clicked
btn.clicked = false
- #sprite.props[:path] = ''
- end
- if $gtk.args.inputs.mouse.click
+ sprite.props[:path] = btn.unpressed_sprite_path
btn.action.call
- puts 'click'
end
+ else
+ btn.clicked = false
+ sprite.props[:path] = btn.unpressed_sprite_path
end
end
end