Étape 9: Personnalisation de votre cheminée
Choisir une vidéo
Avec video_fireplace_190.spin ouvert dans l’outil de l’hélice, défiler vers le bas pour trouver l’élément « FileChooser » méthode, il est responsable du chargement de la vidéo sélectionnée et changer quand on veut jouer une vidéo différente. Voici le code complet :
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)
Élément « FileChooser » démarre en chargeant intro.dat. Il sait intro.dat est fini jeu lorsque le joueur passe de playstop à 1. Ensuite, il va dans sa boucle principale. Nous pouvons basculer instantanément des vidéos en changeant la valeur de la variable videoselect. Quand c’est 1, mloop.dat joue. Quand c’est 2, feliz.dat joue, et ainsi de suite. Nous pourrions ajouter plus de vidéos en ajoutant un autre si, comme cela ;
IF videoselect == 8
i:=sd.popen(string("somevid.dat"), "r")
playstop := 0
repeat while (playstop == 0) AND (videoselect == 8)
videoselect := 1
Lorsque chaque vidéo se termine, il donne videoselect 1, mloop.dat commence à jouer, mais nous aurions pu jouer somevid.dat une vidéo différente en changeant la dernière ligne de videoselect: = 1 à quelque vidéo que nous tenons à la place.
Qui décide quel vidéo à regarder ?
Dans la cheminée de la vidéo, j’ai un pignon de rechange exécuter filepicker pour regarder les commutateurs et modifiez la valeur de videoselect. Mais vous pourriez brancher dans n’importe quel autre code — il lui suffit de signaler à l’élément « FileChooser » charger une vidéo différente en changeant la valeur de videoselect.