summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--app/components/button.rb2
-rw-r--r--app/systems/init_title_screen.rb4
-rw-r--r--app/systems/title_screen.rb12
-rw-r--r--sprites/title/start.pngbin530 -> 7665 bytes
-rw-r--r--sprites/title/start_pressed.pngbin0 -> 7467 bytes
5 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
diff --git a/sprites/title/start.png b/sprites/title/start.png
index 835f3a7..b147375 100644
--- a/sprites/title/start.png
+++ b/sprites/title/start.png
Binary files differ
diff --git a/sprites/title/start_pressed.png b/sprites/title/start_pressed.png
new file mode 100644
index 0000000..751ba7d
--- /dev/null
+++ b/sprites/title/start_pressed.png
Binary files differ