musicplayer
This commit is contained in:
parent
28fffa834e
commit
e51fd4d1c4
9 changed files with 87 additions and 171 deletions
|
@ -332,9 +332,15 @@ function editUpdate()
|
||||||
if editor == "main" and math.floor( tileIndex ) == 2 then
|
if editor == "main" and math.floor( tileIndex ) == 2 then
|
||||||
playdate.graphics.setLineWidth(2)
|
playdate.graphics.setLineWidth(2)
|
||||||
gfx.drawLine(b.start.x+8,b.start.y+8,b.ends.x+8,b.ends.y+8)
|
gfx.drawLine(b.start.x+8,b.start.y+8,b.ends.x+8,b.ends.y+8)
|
||||||
|
gfx.drawText(b.speed,b.start.x+8 - (gfx.getTextSize(b.speed)/2),b.start.y)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
for saw = 1, #spins, 1 do
|
||||||
|
local spin = spins[saw]
|
||||||
|
imgSaw[2]:draw(spin.x,spin.y)
|
||||||
|
end
|
||||||
|
|
||||||
for power = 1, #powers, 1 do
|
for power = 1, #powers, 1 do
|
||||||
imgSquare:draw(powers[power].x,powers[power].y)
|
imgSquare:draw(powers[power].x,powers[power].y)
|
||||||
end
|
end
|
||||||
|
|
|
@ -58,11 +58,18 @@ menuButton, error = menu:addMenuItem("game menu", function()
|
||||||
removeMap()
|
removeMap()
|
||||||
killBlades()
|
killBlades()
|
||||||
end
|
end
|
||||||
totalEnergy = 0
|
if mode ~= "music" then
|
||||||
showEnergy = false
|
totalEnergy = 0
|
||||||
energy = 0
|
showEnergy = false
|
||||||
mainMenuCreation()
|
energy = 0
|
||||||
createMenu(mainmenu)
|
mainMenuCreation()
|
||||||
|
createMenu(mainmenu)
|
||||||
|
else
|
||||||
|
song:stop()
|
||||||
|
paused = false
|
||||||
|
playbackRate = 1.0
|
||||||
|
createMenu(songlist)
|
||||||
|
end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
playdate.ui.crankIndicator:start()
|
playdate.ui.crankIndicator:start()
|
||||||
|
|
|
@ -201,6 +201,10 @@ function menuButtonPress(name, index)
|
||||||
mode = "game"
|
mode = "game"
|
||||||
|
|
||||||
elseif name == "EXTRAS" then
|
elseif name == "EXTRAS" then
|
||||||
|
if menu == "musicbox" then
|
||||||
|
song:load("sfx/song1")
|
||||||
|
song:play(0)
|
||||||
|
end
|
||||||
local m = {}
|
local m = {}
|
||||||
--barpos = 160
|
--barpos = 160
|
||||||
--logopos = -112
|
--logopos = -112
|
||||||
|
@ -263,6 +267,7 @@ function menuButtonPress(name, index)
|
||||||
logopos = -112
|
logopos = -112
|
||||||
barpos = 160
|
barpos = 160
|
||||||
mode = "music"
|
mode = "music"
|
||||||
|
songTitle = songlist[index]
|
||||||
song:stop()
|
song:stop()
|
||||||
song:load("sfx/song"..index - 1)
|
song:load("sfx/song"..index - 1)
|
||||||
song:play(0)
|
song:play(0)
|
||||||
|
|
|
@ -1,23 +1,80 @@
|
||||||
local paused = false
|
paused = false
|
||||||
local playbackRate = 1.0
|
playbackRate = 1.0
|
||||||
|
local timeRate = true
|
||||||
|
songTitle = "AAA"
|
||||||
|
|
||||||
|
local imgDither = playdate.graphics.image.new("gfx/dither")
|
||||||
|
local imgCover = playdate.graphics.image.new("gfx/cover1bit")
|
||||||
|
assert(imgDither)
|
||||||
|
assert(imgCover)
|
||||||
|
|
||||||
function updateBox()
|
function updateBox()
|
||||||
|
playdate.graphics.clear()
|
||||||
|
|
||||||
local change, aChange = playdate.getCrankChange()
|
local change, aChange = playdate.getCrankChange()
|
||||||
|
|
||||||
if paused then
|
if paused then
|
||||||
if change<0 then change = 0 end
|
if change<0 then change = 0 end
|
||||||
song:setRate(change*0.03)
|
song:setRate(change*0.03)
|
||||||
|
if not playdate.isCrankDocked() then
|
||||||
|
playdate.graphics.drawText(math.floor((change*0.03)*100).."%", 200 - playdate.graphics.getTextSize(math.floor((change*0.03)*100).."%")/ 2,210)
|
||||||
|
end
|
||||||
else
|
else
|
||||||
playbackRate += change*0.001
|
playbackRate += change*0.0005
|
||||||
if playbackRate < 0.2 then playbackRate = 0.2 end
|
if playbackRate < 0.2 then playbackRate = 0.2 elseif playbackRate > 3 then playbackRate = 3 end
|
||||||
|
if not playdate.isCrankDocked() or math.floor(playbackRate*100) ~= 100 then
|
||||||
|
playdate.graphics.drawText(math.floor(playbackRate * 100).."%", 200 - playdate.graphics.getTextSize(math.floor(playbackRate * 100).."%")/ 2,210)
|
||||||
|
end
|
||||||
song:setRate(playbackRate)
|
song:setRate(playbackRate)
|
||||||
end
|
end
|
||||||
if playdate.buttonJustPressed(playdate.kButtonA) then
|
if playdate.buttonJustPressed(playdate.kButtonA) then
|
||||||
if paused == true then paused = false else paused = true end
|
if paused == true then
|
||||||
|
paused = false
|
||||||
|
else
|
||||||
|
paused = true
|
||||||
|
end
|
||||||
playbackRate = 1.0
|
playbackRate = 1.0
|
||||||
end
|
end
|
||||||
|
|
||||||
if playdate.buttonJustPressed(playdate.kButtonB) or playdate.buttonJustPressed(playdate.kButtonLeft) then
|
if paused then playdate.graphics.setPattern(imgDither) end
|
||||||
|
playdate.graphics.setLineWidth(10)
|
||||||
|
|
||||||
|
playdate.graphics.drawLine(0,235,(song:getOffset()/song:getLength())*400,235)
|
||||||
|
|
||||||
|
playdate.graphics.setColor(playdate.graphics.kColorWhite)
|
||||||
|
playdate.graphics.setLineWidth(2)
|
||||||
|
|
||||||
|
playdate.graphics.drawLine(0,19,400,19)
|
||||||
|
|
||||||
|
local time = playdate.getTime()
|
||||||
|
if timeRate == true then
|
||||||
|
local prefix = ""
|
||||||
|
if time.hour > 12 then prefix = " PM" end
|
||||||
|
playdate.graphics.drawText((time.hour % 12)..":"..time.minute..prefix,0,0)
|
||||||
|
else
|
||||||
|
playdate.graphics.drawText(time.hour..":"..time.minute,0,0)
|
||||||
|
end
|
||||||
|
|
||||||
|
playdate.graphics.drawText(math.ceil(playdate.getBatteryPercentage()).."%",400-playdate.graphics.getTextSize(math.ceil(playdate.getBatteryPercentage()).."%"),0)
|
||||||
|
|
||||||
|
imgCover:draw(200-67,30)
|
||||||
|
|
||||||
|
playdate.graphics.drawText(songTitle, 200 - playdate.graphics.getTextSize(songTitle)/2,180)
|
||||||
|
|
||||||
|
if math.floor(song:getOffset()) < math.floor(song:getLength()) then playdate.graphics.drawText(math.floor(song:getOffset()*100)/100,1,210) else playdate.graphics.drawText(math.floor(song:getLength()),1,210) end
|
||||||
|
playdate.graphics.drawText(math.floor(song:getLength()).."S",370,210)
|
||||||
|
|
||||||
|
if playdate.buttonJustPressed(playdate.kButtonUp) then
|
||||||
|
if timeRate == true then timeRate = false else timeRate = true end
|
||||||
|
end
|
||||||
|
|
||||||
|
if playdate.buttonJustPressed(playdate.kButtonLeft) then
|
||||||
|
song:setOffset(0)
|
||||||
|
end
|
||||||
|
|
||||||
|
if playdate.buttonJustPressed(playdate.kButtonB) then
|
||||||
|
paused = false
|
||||||
|
playbackRate = 1.0
|
||||||
createMenu(songlist)
|
createMenu(songlist)
|
||||||
song:stop()
|
song:stop()
|
||||||
end
|
end
|
||||||
|
|
BIN
Source/gfx/cover1bit.png
Normal file
BIN
Source/gfx/cover1bit.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 344 B |
BIN
Source/gfx/dither.png
Normal file
BIN
Source/gfx/dither.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 106 B |
|
@ -1,79 +0,0 @@
|
||||||
--metrics={"baseline":13,"xHeight":1,"capHeight":1,"pairs":{},"left":[],"right":[]}
|
|
||||||
datalen=2208
|
|
||||||
data=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
|
|
||||||
width=7
|
|
||||||
height=9
|
|
||||||
|
|
||||||
tracking=1
|
|
||||||
|
|
||||||
0 7
|
|
||||||
1 6
|
|
||||||
2 6
|
|
||||||
3 6
|
|
||||||
4 6
|
|
||||||
5 6
|
|
||||||
6 6
|
|
||||||
7 6
|
|
||||||
8 6
|
|
||||||
9 6
|
|
||||||
space 5
|
|
||||||
<EFBFBD> 7
|
|
||||||
A 6
|
|
||||||
B 6
|
|
||||||
C 6
|
|
||||||
D 6
|
|
||||||
E 6
|
|
||||||
F 6
|
|
||||||
G 6
|
|
||||||
H 6
|
|
||||||
I 6
|
|
||||||
J 6
|
|
||||||
K 6
|
|
||||||
L 6
|
|
||||||
M 6
|
|
||||||
N 6
|
|
||||||
O 6
|
|
||||||
@ 6
|
|
||||||
P 6
|
|
||||||
Q 6
|
|
||||||
R 6
|
|
||||||
S 6
|
|
||||||
T 6
|
|
||||||
U 6
|
|
||||||
V 6
|
|
||||||
W 6
|
|
||||||
X 6
|
|
||||||
Y 6
|
|
||||||
Z 6
|
|
||||||
[ 4
|
|
||||||
] 4
|
|
||||||
\ 5
|
|
||||||
( 4
|
|
||||||
) 4
|
|
||||||
{ 4
|
|
||||||
| 3
|
|
||||||
} 4
|
|
||||||
~ 6
|
|
||||||
: 3
|
|
||||||
! 3
|
|
||||||
? 7
|
|
||||||
; 3
|
|
||||||
= 5
|
|
||||||
- 5
|
|
||||||
+ 5
|
|
||||||
. 3
|
|
||||||
< 6
|
|
||||||
> 6
|
|
||||||
/ 5
|
|
||||||
^ 5
|
|
||||||
_ 6
|
|
||||||
, 3
|
|
||||||
# 7
|
|
||||||
' 3
|
|
||||||
" 5
|
|
||||||
$ 7
|
|
||||||
% 7
|
|
||||||
& 7
|
|
||||||
` 4
|
|
||||||
* 5
|
|
||||||
|
|
|
@ -1,79 +0,0 @@
|
||||||
--metrics={"baseline":13,"xHeight":1,"capHeight":1,"pairs":{},"left":[],"right":[]}
|
|
||||||
datalen=2208
|
|
||||||
data=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
|
|
||||||
width=7
|
|
||||||
height=9
|
|
||||||
|
|
||||||
tracking=1
|
|
||||||
|
|
||||||
0 7
|
|
||||||
1 7
|
|
||||||
2 7
|
|
||||||
3 7
|
|
||||||
4 7
|
|
||||||
5 7
|
|
||||||
6 7
|
|
||||||
7 7
|
|
||||||
8 7
|
|
||||||
9 7
|
|
||||||
space 5
|
|
||||||
<EFBFBD> 7
|
|
||||||
A 7
|
|
||||||
B 7
|
|
||||||
C 7
|
|
||||||
D 7
|
|
||||||
E 7
|
|
||||||
F 7
|
|
||||||
G 7
|
|
||||||
H 7
|
|
||||||
I 7
|
|
||||||
J 7
|
|
||||||
K 7
|
|
||||||
L 7
|
|
||||||
M 7
|
|
||||||
N 7
|
|
||||||
O 7
|
|
||||||
@ 7
|
|
||||||
P 7
|
|
||||||
Q 7
|
|
||||||
R 7
|
|
||||||
S 7
|
|
||||||
T 7
|
|
||||||
U 7
|
|
||||||
V 7
|
|
||||||
W 7
|
|
||||||
X 7
|
|
||||||
Y 7
|
|
||||||
Z 7
|
|
||||||
[ 4
|
|
||||||
] 4
|
|
||||||
\ 5
|
|
||||||
( 4
|
|
||||||
) 4
|
|
||||||
{ 4
|
|
||||||
| 3
|
|
||||||
} 4
|
|
||||||
~ 6
|
|
||||||
: 3
|
|
||||||
! 3
|
|
||||||
? 7
|
|
||||||
; 3
|
|
||||||
= 5
|
|
||||||
- 5
|
|
||||||
+ 5
|
|
||||||
. 3
|
|
||||||
< 6
|
|
||||||
> 6
|
|
||||||
/ 5
|
|
||||||
^ 5
|
|
||||||
_ 6
|
|
||||||
, 3
|
|
||||||
# 7
|
|
||||||
' 3
|
|
||||||
" 5
|
|
||||||
$ 7
|
|
||||||
% 7
|
|
||||||
& 7
|
|
||||||
` 4
|
|
||||||
* 5
|
|
||||||
|
|
|
@ -4,5 +4,4 @@ description=Help a crew of rockets collect energy to get back home!
|
||||||
bundleID=com.PossiblyAxolotl.RocketBytes
|
bundleID=com.PossiblyAxolotl.RocketBytes
|
||||||
version=DEV
|
version=DEV
|
||||||
buildNumber=1
|
buildNumber=1
|
||||||
imagePath=launcher
|
imagePath=launcher
|
||||||
contentWarning=This game requires extremely precise and quick movement of the crank.
|
|
Loading…
Reference in a new issue