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.
|
||||
-- temps.escala_step_frames = 6 -- frames entre cada cel·la nova de
|
||||
-- -- 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
|
||||
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).
|
||||
-- "idle" → encara no s'ha disparat per a este mapa
|
||||
-- "growing" → en curs: cada escala_step_frames apareix una cel·la nova
|
||||
@@ -249,6 +259,19 @@ function pintar_fade()
|
||||
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)
|
||||
-- ====================================================================
|
||||
@@ -535,6 +558,7 @@ function init_title()
|
||||
end
|
||||
|
||||
function update_title()
|
||||
set_music("title")
|
||||
if not fade_actiu() and btnp(KEY_SPACE) then
|
||||
transicio(function()
|
||||
inicialitzacio()
|
||||
@@ -557,6 +581,7 @@ end
|
||||
|
||||
-- ----- GAME OVER -----
|
||||
function update_gameover()
|
||||
set_music(nil)
|
||||
-- Render congelat: ultim estat del joc + overlay "GAME OVER"
|
||||
neteja_fons()
|
||||
pintar_mapa()
|
||||
@@ -589,6 +614,7 @@ end
|
||||
|
||||
-- ----- ENTER NAME -----
|
||||
function update_entername()
|
||||
set_music("entername")
|
||||
neteja_fons()
|
||||
color(colors.title, colors.bg)
|
||||
local t = textos.new_record
|
||||
@@ -623,6 +649,7 @@ end
|
||||
|
||||
-- ----- PLAYING -----
|
||||
function update_playing()
|
||||
set_music(nil)
|
||||
-- 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).
|
||||
-- Nota: la transicio a game over es directa (sense fade), perque el
|
||||
|
||||
Reference in New Issue
Block a user