Paso 9: Personalizar su chimenea
Elegir un video
Con video_fireplace_190.spin abierto en la herramienta de la hélice, desplácese hasta encontrar el método filechooser, es responsable de cargar el video seleccionado y cambiarlo cuando queremos reproducir un vídeo diferente. Aquí está el código completo:
PUB filechooser | i
i:=sd.popen(string("intro.dat"), "r")
repeat while playstop == 0
Repeat
IF videoselect == 2
i:=sd.popen(string("feliz.dat"), "r")
playstop := 0
repeat while (playstop == 0) AND (videoselect == 2)
videoselect := 1
IF videoselect == 3
i:=sd.popen(string("winter.dat"), "r")
playstop := 0
repeat while (playstop == 0) AND (videoselect == 3)
videoselect := 1
IF videoselect == 4
i:=sd.popen(string("rejoice.dat"), "r")
playstop := 0
repeat while (playstop == 0) AND (videoselect == 4)
videoselect := 1
IF videoselect == 5
i:=sd.popen(string("behome.dat"), "r")
playstop := 0
repeat while (playstop == 0) AND (videoselect == 5)
videoselect := 1
IF playstop == 1
playstop := 0
i:=sd.popen(string("mloop.dat"), "r")
repeat while (playstop == 0) AND (videoselect == 1)
Filechooser comienza por la carga de intro.dat. Sabe intro.dat ha terminado jugando cuando el jugador cambia playstop a 1. Luego entra en su bucle principal. Al instante podemos cambiar vídeos cambiando el valor de la variable videoselect. Cuando es 1, juegos de mloop.dat. Cuando es 2, juegos de feliz.dat, y así sucesivamente. Podríamos añadir más vídeos añadiendo otra si, como esta;
IF videoselect == 8
i:=sd.popen(string("somevid.dat"), "r")
playstop := 0
repeat while (playstop == 0) AND (videoselect == 8)
videoselect := 1
Cuando termina cada vídeo, establece videoselect en 1, mloop.dat comienza a jugar, pero podríamos tener juego de somevid.dat un video diferente cambiando la última línea de videoselect: = 1 para cualquier vídeo nos gustaría en cambio.
¿Quién decide qué video para ver?
En la chimenea de Video, tengo una pieza de repuesto ejecutar filepicker para ver los conmutadores y cambiar el valor de videoselect. Pero podría conectar cualquier otro código, solo necesita señal filechooser para cargar un video diferente cambiando el valor de videoselect.