adding menu with sliders

main
Guido Schweizer 2023-11-26 17:58:07 +01:00
parent e7b6352e7a
commit 81556a1a19
7 changed files with 48 additions and 5 deletions

View File

@ -1,7 +1,14 @@
require "app/bounce.rb"
BOUNCE_ACCL = 1.02
GRAVITY = 0.9
GRAVITY = 0.5
MIN_GRAVITY = 0.1
MAX_GRAVITY = 2.0
MIN_BOUNCE = 1.0
MAX_BOUNCE = 1.1
CX = 636
CY = 399
CR = 205
@ -13,8 +20,8 @@ def tick args
cy = CY
cr = CR
# pause
args.state.paused = false if args.state.paused.nil?
if args.state.ball.nil?
if args.state.paused.nil?
args.state.paused = true
args.state.ball = {
x: 500,
y: 500,
@ -23,11 +30,24 @@ def tick args
x: 0,
y: 0
}
args.state.bounce = BOUNCE_ACCL
args.state.gravity = GRAVITY
end
# INPUT
if args.inputs.keyboard.key_up.space
args.state.paused = !args.state.paused
if !args.state.paused
#REINIT with inputs
args.state.ball = {
x: 500+Math.rand(150),
y: 400+Math.rand(50),
}
args.state.ball_vector = {
x: 0,
y: 0
}
end
end
# LOOP
@ -49,6 +69,9 @@ def tick args
new_move_x, new_move_y = reflection_vector(x,y,cx,cy,move_x,move_y)
args.state.ball_vector[:x] = new_move_x * BOUNCE_ACCL
args.state.ball_vector[:y] = new_move_y * BOUNCE_ACCL
# play sound
sound = Math.rand(3)+1
args.outputs.sounds << "sounds/bounce#{sound}.wav"
end
# move the ball
@ -78,22 +101,42 @@ def tick args
# RENDER
#
# BG
bg = args.state.paused ? 'sprites/BG1_menu.png' : 'sprites/BG1.png'
args.outputs.sprites << {
x: 0,
y: 0,
w: 1280,
h: 720,
path: 'sprites/BG1.png' }
path: bg }
if args.state.paused
# Render menu
args.outputs.labels << [640, 40, "Game is paused. Press <space> to continue", 4, 1]
# min_x = 440
# mid = 615
# max_x = 780
args.outputs.sprites << {
x: 615,
y: 445,
w: 32,
h: 32,
path: 'sprites/slider.png'
}
args.outputs.sprites << {
x: 615,
y: 325,
w: 32,
h: 32,
path: 'sprites/slider.png'
}
end
# BALL
args.outputs.sprites << {
x: args.state.ball[:x]-16,
y: args.state.ball[:y]-16,
w: 32,
h: 32,
path: 'sprites/ball.png' }
path: 'sprites/ball.png' } if !args.state.paused
end

BIN
sounds/bounce1.wav Normal file

Binary file not shown.

BIN
sounds/bounce2.wav Normal file

Binary file not shown.

BIN
sounds/bounce3.wav Normal file

Binary file not shown.

BIN
sprites/BG1_menu.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

BIN
sprites/slider.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

BIN
sprites/slider@3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 155 KiB