DX: jingles als estats no-jugables (title i enter name)
This commit is contained in:
+13
@@ -97,3 +97,16 @@ skin = "native"
|
|||||||
-- -- respawn, parpadejant blanc/groc.
|
-- -- respawn, parpadejant blanc/groc.
|
||||||
-- temps.escala_step_frames = 6 -- frames entre cada cel·la nova de
|
-- temps.escala_step_frames = 6 -- frames entre cada cel·la nova de
|
||||||
-- -- l'escala lateral quan creix.
|
-- -- l'escala lateral quan creix.
|
||||||
|
|
||||||
|
-- ====================================================================
|
||||||
|
-- JINGLES
|
||||||
|
-- ====================================================================
|
||||||
|
-- Es reproduixen una sola vegada quan entres al estat (title i enter name)
|
||||||
|
-- perque el motor d'ascii te 1 sol canal d'audio: les SFX tallarien la
|
||||||
|
-- musica si la posarem in-game.
|
||||||
|
|
||||||
|
-- music_on = false -- desactiva els jingles. Per defecte true.
|
||||||
|
|
||||||
|
-- Pots reescriure les melodies amb MML estandard (vore ASCII_API.md §4):
|
||||||
|
-- musica.title = "l4o4cegfedcceg"
|
||||||
|
-- musica.entername = "l2o5cegcegced"
|
||||||
|
|||||||
@@ -151,6 +151,16 @@ estat_inici = 0
|
|||||||
enter_name_idx = 1
|
enter_name_idx = 1
|
||||||
fade = nil -- nil = sense transicio; o { phase="out"|"in", t=0, on_mid=... }
|
fade = nil -- nil = sense transicio; o { phase="out"|"in", t=0, on_mid=... }
|
||||||
|
|
||||||
|
-- Jingles per als estats no-jugables: una sola reproduccio per entrada al
|
||||||
|
-- estat (no es repeteixen en bucle). El motor d'ascii nomes te un canal
|
||||||
|
-- d'audio, per aixo no posem musica in-game (les SFX la tallarien).
|
||||||
|
music_on = true -- false desactiva tots els jingles (les SFX continuen)
|
||||||
|
musica = {
|
||||||
|
title = "l4o4cegfedcceg",
|
||||||
|
entername = "l2o5cegcegced",
|
||||||
|
}
|
||||||
|
music_actual = nil -- id del jingle reproduit actualment (nil = silenci)
|
||||||
|
|
||||||
-- Estat de l'animacio de l'escala lateral (apareix quan no queden diners).
|
-- Estat de l'animacio de l'escala lateral (apareix quan no queden diners).
|
||||||
-- "idle" → encara no s'ha disparat per a este mapa
|
-- "idle" → encara no s'ha disparat per a este mapa
|
||||||
-- "growing" → en curs: cada escala_step_frames apareix una cel·la nova
|
-- "growing" → en curs: cada escala_step_frames apareix una cel·la nova
|
||||||
@@ -249,6 +259,19 @@ function pintar_fade()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- ====================================================================
|
||||||
|
-- JINGLES (una reproduccio per entrada a l'estat, sense bucle)
|
||||||
|
-- ====================================================================
|
||||||
|
-- Es crida set_music(id) al inici de cada estat: si l'id canvia, dispara
|
||||||
|
-- el jingle una vegada i ja esta. set_music(nil) silencia el canal d'audio.
|
||||||
|
|
||||||
|
function set_music(id)
|
||||||
|
if music_actual == id then return end
|
||||||
|
music_actual = id
|
||||||
|
if not music_on then return end
|
||||||
|
if id then play(musica[id]) else nosound() end
|
||||||
|
end
|
||||||
|
|
||||||
-- ====================================================================
|
-- ====================================================================
|
||||||
-- SFX (l'original no tenia so — afegim els minims raonables)
|
-- SFX (l'original no tenia so — afegim els minims raonables)
|
||||||
-- ====================================================================
|
-- ====================================================================
|
||||||
@@ -535,6 +558,7 @@ function init_title()
|
|||||||
end
|
end
|
||||||
|
|
||||||
function update_title()
|
function update_title()
|
||||||
|
set_music("title")
|
||||||
if not fade_actiu() and btnp(KEY_SPACE) then
|
if not fade_actiu() and btnp(KEY_SPACE) then
|
||||||
transicio(function()
|
transicio(function()
|
||||||
inicialitzacio()
|
inicialitzacio()
|
||||||
@@ -557,6 +581,7 @@ end
|
|||||||
|
|
||||||
-- ----- GAME OVER -----
|
-- ----- GAME OVER -----
|
||||||
function update_gameover()
|
function update_gameover()
|
||||||
|
set_music(nil)
|
||||||
-- Render congelat: ultim estat del joc + overlay "GAME OVER"
|
-- Render congelat: ultim estat del joc + overlay "GAME OVER"
|
||||||
neteja_fons()
|
neteja_fons()
|
||||||
pintar_mapa()
|
pintar_mapa()
|
||||||
@@ -589,6 +614,7 @@ end
|
|||||||
|
|
||||||
-- ----- ENTER NAME -----
|
-- ----- ENTER NAME -----
|
||||||
function update_entername()
|
function update_entername()
|
||||||
|
set_music("entername")
|
||||||
neteja_fons()
|
neteja_fons()
|
||||||
color(colors.title, colors.bg)
|
color(colors.title, colors.bg)
|
||||||
local t = textos.new_record
|
local t = textos.new_record
|
||||||
@@ -623,6 +649,7 @@ end
|
|||||||
|
|
||||||
-- ----- PLAYING -----
|
-- ----- PLAYING -----
|
||||||
function update_playing()
|
function update_playing()
|
||||||
|
set_music(nil)
|
||||||
-- Durant un fade (cambi de fase), no processem input ni logica del joc:
|
-- Durant un fade (cambi de fase), no processem input ni logica del joc:
|
||||||
-- nomes render (el dither es pinta a sobre des de update() global).
|
-- nomes render (el dither es pinta a sobre des de update() global).
|
||||||
-- Nota: la transicio a game over es directa (sense fade), perque el
|
-- Nota: la transicio a game over es directa (sense fade), perque el
|
||||||
|
|||||||
Reference in New Issue
Block a user