Forum Liberty Basic France

Général » Faire un film avec LB c possible ^^
Le 14/04/2020 à 14h25

Modérateur

Groupe: Modérateur

Inscrit le: 30/03/2011
Messages: 381
Tout est possible avec LB, ca peut juste prendre un peu de temps parfois ^^
Voici un vieux projet que je vous met ici (il a 4-5 ans quand même)

Dit moi ce que vous en pensez =D

film_exemple.zip
____________________
Yo !

MSN Web    
Le 14/04/2020 à 19h01

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2264
Hum, ça s'appelle une animation; en chargeant tous les bmp au lieu d'aller les chercher un par un ce serait certainement plus fluide.
____________________
Roro

   
Le 14/04/2020 à 19h46

Modérateur

Groupe: Modérateur

Inscrit le: 30/03/2011
Messages: 381
oui enfin faut pas jouer sur les mots :P
et je rappel que cétait mon niveau d'il y a 4-5 ans hein ;)
____________________
Yo !

MSN Web    
Le 14/04/2020 à 22h25

Modérateur

Groupe: Modérateur

Inscrit le: 09/02/2015
Messages: 619
'y'a plus qu'à se renseigner sur les formats vidéo, et créer la vidéo avec les bitmaps dedans, ça évitera la gestion des délais "en direct" entre images par le basic.

En plus simple on peut faire un GIF. Çà existe encore, les GIF ?



Edité par Christophe Le 14/04/2020 à 22h26
____________________
Just BASIC v2.0 :
  • utilisation courante avec GNU/Linux Mageia6 + Wine (Pas trouvé d'incohérences ou de bug de compilation à ce jour)
  • utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc

   
Le 15/04/2020 à 01h13

Modérateur

Groupe: Modérateur

Inscrit le: 30/03/2011
Messages: 381
ben justement j'aimerais bien faire fonctionner des videos mais ca a lair de toucher au dll et tout donc pas si simple ^^
____________________
Yo !

MSN Web    
Le 15/04/2020 à 13h33

Modérateur

Groupe: Modérateur

Inscrit le: 09/02/2015
Messages: 619
Pour faire un lecteur vidéo, je partage ton scepticisme, on n'a pas d'instructions dédiées. Je ne crois pas qu'on puisse utiliser de dll avec Just Basic (à voir, cependant) et il faudrait tout programmer avec des briques de base. Le code basic le plus concis possible sera toujours moins optimisé que du langage machine.

Par contre, créer des vidéos avec des animations basic ou des images bmp, oui, on pourrait tout à fait. L'écueil est alors la connaissance de la structure des fichiers vidéo : si j'en crois les galères que j'ai pu expérimenter par le passé, il y a la norme qui définit la vidéo, et son interprétation qui fait qu'il semble difficile d'obtenir un résultat lisible partout.

Pour notre univers Basic, on pourrait envisager un petit prog générant un fichier contenant pour chaque ligne un top horaire et le nom de l'image à afficher à ce top. Il suffirait de lire ce fichier dans notre petite appli pour obtenir un diaporama. pourra-t-il porter le nom de vidéo si on va assez vite pour afficher les images ? C'est à voir...

Pour revenir à ta question initiale, comme je suis fâché avec TIMER (il y a quelque chose de bugué là-dedans, ou de non intuitif ou de mal expliqué, ou c'est moi qui n'ai rien compris, ce qui est sûr c'est que ça déconne à chaque fois que je m'en sers), donc je ne peux pas trop me prononcer sur la structure de ton code.

Cependant je trouve surprenante l'étiquette de ton timer qui renvoie au dessus de la déclaration d'ouverture de la fenêtre, avec la complexité que ça engendre pour ne pas la rouvrir si elle est déjà ouverte : habituellement, on ouvre la fenêtre une fois pour toutes, et on travaille en dessous...

Une version sans timer, mais avec un équivalent à base de while/wend et de time$(ms), à placer dans le même dossier que ton bouga, puisque je me suis basé sur lui et que je n'ai pas changé les chemins :

Code VB :
 
nomainwin
valmax=12
 
WindowWidth=600 : WindowHeight=400
UpperLeftX=int((DisplayWidth-WindowWidth)/2)
UpperLeftY=int((DisplayHeight-WindowHeight)/2)
 
open "test" for graphics_nsb_nf as #3b
    #3b, "trapclose [quit]"
 
    for val=1 to valmax
 
        'on affiche l'image n°val
        loadbmp "JB", "bmp\";val;".bmp"
        #3b,"background JB"
        #3b,"drawsprites"
 
        'l'image n°2 dure plus longtemps
        if val=2 then delai=1000 else delai=100
 
        'on attend "delai" millisecondes
        t=time$("ms")
        while time$("ms")<t+delai
        wend
 
        'et on prépare pour l'image suivante
        unloadbmp "JB"
 
    next
 
    wait
 
[quit]
    close #3b
    end
 
 

Faire attention avec cet équivalent de timer : time$(ms) donne le nombre demillisecondes passées depuis minuit, et se remet à zéro au minuit d'après, il faut prévoir le cas où notre routine serait en cours d'exécution au moment où on passe minuit.

Voili



Edité par Christophe Le 15/04/2020 à 14h14
____________________
Just BASIC v2.0 :
  • utilisation courante avec GNU/Linux Mageia6 + Wine (Pas trouvé d'incohérences ou de bug de compilation à ce jour)
  • utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc

   
Le 15/04/2020 à 15h35

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2264
____________________
Roro

   
Le 15/04/2020 à 16h27

Modérateur

Groupe: Modérateur

Inscrit le: 30/03/2011
Messages: 381
c simpa comme annimation ! j'avais pas vu ce poste !
____________________
Yo !

MSN Web    
Général » Faire un film avec LB c possible ^^  

 |  |

1 Utilisateur en ligne : 0 Administrateur, 0 Modérateur, 0 Membre et 1 Visiteur
Utilisateur en ligne : Aucun membre connecté
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie