Il giorno mercoledì 3 aprile 2013 09:19:50 UTC+2, pgsfredda ha scritto:
>
> Le modifiche a javascript le hai pubblicate sul tuo sito?
Non ancora, ma se visiti la pagina di Aladino
http://milleuna.3owl.com/_Perle_di_Saggezza/play_Media.html è probabile che il file di cui ti parlavo ti compaia nella cache del browser... anzi, ovviamente è già disponibile on-line, altrimenti i giochi non funzionerebbero! ;)
Lo puoi scaricare da qui:
http://milleuna.3owl.com/interpreter/glkote.min.js
Prima di metterlo on-line in modo ufficiale, volevo fare ancora qualche miglioramento.
Breve guida all'uso:
- Contiene già le modifiche per funzionare con l'interfaccia "Hyperlink Interface IT" (quella dei collegamenti ipertestuali) e non c'è bisogno di seguire particolari accorgimenti
- Invece, per le immagini e i suoni, il programma javascript chiama una funzione che si chiama callbrowser() ogni volta che Inform7 usa "say" con un testo tra chiocciole "@". Per esempio:
say "@sfondo.jpg@"
richiama nel programma
callbrowser("sfondo.jpg");
Il testo deve essere statico, cioè non si possono usare le quadre [] per richiamare variabili in Inform7 (questo è uno dei punti che voglio migliorare).
Che cosa faccia la funzione callbrowser della stringa che gli viene passata è definito nella pagina HTML che mostra l'avventura.
In Aladino io uso il codice che segue per visualizzare immagini in due differenti posizioni (sopra e a sinistra) e per eseguire suoni, ma le potenzialità sono infinite.
<script>
var path = "../fx/"; // il percorso relativo dei file multimediali
// Funzione di supporto per suonare con l'HTML5
// Può non funzionare al primo tentativo se i file sono
// di grandi dimensioni. In tal caso è opportuno un "preload"
function playSound(name){
name = path+name.substring(0,name.length-4)
var audio = document.createElement('audio');
audio.preload = "auto";
var source= document.createElement('source');
if (audio.canPlayType('audio/mpeg')) {
source.type= 'audio/mpeg';
source.src= name+'.mp3';
} else {
source.type= 'audio/ogg';
source.src= name+'.ogg';
}
audio.appendChild(source);
audio.addEventListener("ended", function () {document.removeChild(this);}, false);
audio.autoplay = "autoplay";
audio.play();
}
// La funzione callbroser, fulcro di tutto
// Mostra i file di nome "*-V.jpeg" in un'immagine con tag <img id="fx-side">
// altrimenti i file "*.jpeg" in un'immagine con tag <img id="fx-top">
// Esegue i suoni "*.ogg" o "*.mp3" con la funzione playSound() vista sopra
function callbrowser(cmd) {
var ext = cmd.substr(cmd.length-3,3);
if(ext == "jpg") {
var pos = "fx-top";
if(cmd.charAt(cmd.length-5) == "V")
pos = "fx-side";
document.getElementById(pos).src = path+cmd;
} else if(ext == "ogg" || ext == "mp3") {
if(cmd == "daydreaming.ogg")
document.getElementById("soundtrack").play();
// la colonna sonora iniziale è precaricata
else
playSound(cmd);
}
};
</script>
Il tutto va messo nell'header della pagina.
Per altre domande, chiedi pure.