Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Animate : Montage d'un petit dessin animé | |
| | Auteur | Message |
---|
Invité Invité
| Sujet: Animate : Montage d'un petit dessin animé Sam 11 Juin 2011 - 15:10 | |
| Bonjour, Ces temps-ci, ma présence se fait assez rare sur le forum. Dernièrement, j'ai créer un petit programme pour faire des dessins animés. Le principe est simple, vous ajoutez des images dans la liste, vous choisissez le nombre d'images par seconde (FPS) puis vous pouvez l'écouter. Il est possible enregistrer le projet. J'ai déjà réalisé 2 petits exemples ; un de 35 images et l'autre de 34. Il y a plusieurs problèmes que j'ai essayé de corriger mais je n'ai pas trouvé de solution. 1er exemple2e exempleAmusez-vous bien!(433 lignes) - Code:
-
' Montage d'un mini dessin animé ' 2, 3(libres) ' 1-1000 2-500 4-250 5-200 8-125 ' 10-100 12-85 15-70 24-40 30-33
label modifname,confirm,save,saveproject,fps,open,addimage,deleteimage,click label index,code,start,arret,time,pause,restart,parcourir,suppr dim mess,Nom$,i,j,Fichier$,time,fps,number(30),choix,images,fps$,save,save$,tour dim NomPath$,MusicFichier$,MusicPath$,MusicNom$,son
number(1)=1000:number(2)=500:number(4)=250:number(5)=200:number(8)=125:number(10)=100:number(12)=85:number(15)=70:number(24)=40:number(30)=33 fps=15 Nom$="Fichier_Animate.afv"
height 0,0 width 0,500 height 0,height(0)+156 caption 0,"Animate"
picture 99 left 99,337 top 99,5 width 99,150 height 99,120 color 99,0,0,0
picture 1 left 1,337 top 1,5 width 1,150 height 1,120 color 1,0,0,0
alpha 5 left 5,257 top 5,76
alpha 4 left 4,290 top 4,76 font_color 4,0,0,255
button 6 left 6,337 top 6,130 width 6,30 height 6,21 inactive 6 font_name 6,"Webdings":font_size 6,14 caption 6,"4" on_click 6,start
button 7 left 7,372 top 7,130 width 7,30 height 7,21 inactive 7 font_name 7,"Webdings" caption 7,"g" on_click 7,arret
check 8 left 8,5 top 8,50 width 8,60 caption 8,"Répétitif"
list 9 height 9,50 left 9,5 top 9,101 width 9,327 on_click 9,click on_key_down 9,code
alpha 10:top 10,89:left 10,7:font_name 10,"Tahoma":font_size 10,7:caption 10,"Nombre d'images : 0" alpha 11:top 11,89:left 11,130:font_name 11,"Tahoma":font_size 11,7:caption 11,"FPS : 15" alpha 12:top 12,89:left 12,197:font_name 12,"Tahoma":font_size 12,7:caption 12,"Toutes les images sont trouvées":inactive 12
alpha 13 left 13,5 top 13,5 caption 13,Nom$ font_bold 13
edit 17 hide 17 top 17,3 left 17,5 width 17,180 text 17,Nom$
alpha 14 left 14,5 top 14,26 caption 14,"FPS :" hint 14,"Images par seconde"
combo 15 left 15,32 top 15,24 width 15,35 font_name 15,"Tahoma" font_size 15,7 text 15,"15" item_add 15,"1":item_add 15,"2":item_add 15,"4" item_add 15,"5":item_add 15,"8":item_add 15,"10" item_add 15,"12":item_add 15,"15":item_add 15,"24" item_add 15,"30" on_click 15,fps
button 16 left 16,252 top 16,3 height 16,21 width 16,80 caption 16,"Modifier" on_click 16,modifname
button 18 left 18,252 top 18,29 height 18,21 width 18,80 caption 18,"Enregistrer" on_click 18,save
button 24 left 24,252 top 24,55 height 24,21 width 24,80 caption 24,"Ouvrir un projet" on_click 24,open
button 25 left 25,5 top 25,70 height 25,17 width 25,65 caption 25,"Ajouter" on_click 25,addimage set_focus 25
button 26 left 26,75 top 26,70 height 26,17 width 26,65 caption 26,"Supprimer" on_click 26,deleteimage
alpha 29 left 29,80 top 29,30 font_size 29,10 caption 29,"Audio"
button 30 left 30,120 top 30,30 height 30,17 width 30,17 caption 30,"..." on_click 30,parcourir
button 33 inactive 33 left 33,140 top 33,30 height 33,17 width 33,17 font_name 33,"Webdings" caption 33,"r" on_click 33,suppr
picture 31 left 31,77 top 31,47 width 31,1 height 31,13 color 31,0,0,0
alpha 32 left 32,82 top 32,47 caption 32,"Aucun audio"
' Fenêtres secondaires et objets invisibles ____________________________________
form 19:hide 19:left 19,100:top 19,50:height 19,0:height 19,height(19)+57:width 19,400:caption 19,"Enregistrer le projet":command_target_is 19 alpha 20:left 20,5:top 20,5:caption 20,"Enregistrer dans :" edit 21:left 21,90:top 21,3:width 21,297 button 22:left 22,317:width 22,70:height 22,21:top 22,29:caption 22,"Enregistrer":on_click 22,saveproject
dlist 23
timer 27 timer_interval 27,1 on_timer 27,index
timer 28 on_timer 28,time timer_off 28
sound 98
end
code: if key_down_code=46 then goto deleteimage return
modifname: hide 13:show 17:top 15,27:top 14,29 caption 16,"Confirmer" on_click 16,confirm return
confirm: show 13:hide 17:top 15,24:top 14,26 on_click 16,modifname:caption 16,"Modifier" if right$(text$(17),4)<>".afv" then caption 13,text$(17)+".afv" Nom$=text$(17) return
save: if count(9)=0 then return if save=1 then goto saveproject show 19 text 21,dir_current$ caret_position 21,len(text$(21)) return
saveproject: clear 23 for i=1 to count(9) item_add 23,item_read$(9,i) next i if (numeric(text$(15)))=1 if val(text$(15))<31 and val(text$(15))>0 item_add 23,"FPS;"+text$(15) else item_add 23,"FPS;15" end_if else item_add 23,"FPS;15" end_if item_add 23,"Repetitif;"+str$(checked(8))
if save=1 then file_save 23,save$:return
if dir_exists(text$(21))=0 then beep:mess=message_information_ok("Ce répertoire n'existe pas!"):return if right$(text$(21),1)<>"\" then text 21,text$(21)+"\" if Nom$="Fichier_Animate" dir_make text$(21)+"Projet Animate":file_save 23,text$(21)+"Projet Animate\"+Nom$+".afv":save$=text$(21)+"Projet Animate\"+Nom$+".afv" else dir_make text$(21)+text$(17):file_save 23,text$(21)+text$(17)+"\"+Nom$+".afv":save$=text$(21)+text$(17)+"\"+Nom$+".afv" end_if return
fps: caption 11,"FPS : "+text$(15) fps=val(text$(15)) choix=val(text$(15)) return
open: open_dialog 100 filter 100,"Projets Animate|*.afv" Fichier$=file_name$(100) delete 100 j=len(Fichier$) NomPath$="" Nom$="" for i=j to 1 step -1 if (mid$(Fichier$,i,1)="\") NomPath$=mid$(Fichier$,1,i) if (i<j) then Nom$=mid$(Fichier$,i+1,j-i) exit_for end_if next i if file_exists(Fichier$)=1 clear 9 text 17,Nom$ caption 13,Nom$ save=1:save$=Fichier$ caption 13,Nom$ file_load 23,Fichier$ for i=1 to count(23) if left$(item_read$(23,i),4)="FPS;" fps$="" for j=5 to len(item_read$(23,i)) fps$=fps$+mid$(item_read$(23,i),j,1) fps=val(fps$) next j text 15,fps$ end_if if left$(item_read$(23,i),10)="Repetitif;" if right$(item_read$(23,i),1)="1" mark_on 8 else mark_off 8 end_if end_if next i for i=1 to count(23) if left$(item_read$(23,i),4)="FPS;" then exit_for item_add 9,item_read$(23,i) next i images=count(9) for i=1 to count(9) if file_exists(item_read$(9,i))=0 caption 12,"Certaines images sont manquantes":active 12 else active 12 end_if next i end_if return
deleteimage: if item_index(9)<>0 then item_delete 9,item_index(9):2d_target_is 1:cls:color 1,0,0,0:images=images-1 return
addimage: open_dialog 100 filter 100,"Images BMP et JPG|*.bmp;*.jpg;*.jpeg" Fichier$=file_name$(100) delete 100 if file_exists(Fichier$)=1 item_add 9,Fichier$ time=fps*count(9) images=images+1 end_if return
click: if file_exists(item_index$(9))=1 then file_load 1,item_index$(9) return
index: if item_index(9)=0 inactive 26 else active 26 end_if if count(9)>1 active 6 else inactive 6 end_if caption 10,"Nombre d'images : "+str$(images) caption 11,"FPS : "+str$(fps) return
start: if son=1 then play 98 active 7 timer_interval 28,number(fps) timer_on 28 tour=1 caption 6,";":on_click 6,pause return
arret: if son=1 then file_load 98,MusicFichier$ caption 5,"":caption 4,"" timer_off 28 2d_target_is 1:cls:color 1,0,0,0 on_click 6,start inactive 7 caption 6,"4" return
time: if tour=count(9) if checked(8)=0 timer_off 28:inactive 7 else if son=1 then file_load 98,MusicFichier$:play 98 tour=1 end_if end_if file_load 1,item_read$(9,tour) tour=tour+1 caption 5,"Image":caption 4,str$(tour) return
restart: if son=1 then play 98 timer_on 28 caption 6,";" on_click 6,pause return
pause: if son=1 then file_load 98,MusicFichier$ timer_off 28 caption 6,"4" on_click 6,restart return
parcourir: open_dialog 100 filter 100,"Musiques MP3 et MID|*.mp3;*.mid|Sons WAV|*.wav" MusicFichier$=file_name$(100) delete 100 j=len(MusicFichier$) MusicPath$="" MusicNom$="" for i=j to 1 step -1 if (mid$(MusicFichier$,i,1)="\") MusicPath$=mid$(MusicFichier$,1,i) if (i<j) then MusicNom$=mid$(MusicFichier$,i+1,j-i) exit_for end_if next i if file_exists(MusicFichier$)=1 caption 32,MusicNom$ file_load 98,MusicFichier$ son=1 active 33 end_if return
suppr: son=0 caption 32,"Aucun audio" inactive 33 return
|
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Animate : Montage d'un petit dessin animé Sam 11 Juin 2011 - 15:52 | |
| Salut, bonne idée Pour pouvoir rejouer une animation, tu devrais modifier le routime time comme ça, je pense: time: if tour=count(9) if checked( =0 timer_off 28:inactive 7 tour=1 ... Sinon, quelques idées: Tu devrais ne sauvegarder que le nom de l'image, sans son chemin et mettre ce chemin tout au début de ton fichier projet, ça allégerait la taille du fichier projet si le chemin et long et qu'il y a bcp d'images et ça faciliterait la maj du projet pour les autres utilisateurs (il n'aurait qu'à modifier ce chemin de base dans le projet soit directement, soit par ton programme si tu l'ajoute) Une autre idée, plutôt que d'ajouter les images une par une, on indique juste le nombre d'images que l'on a préparé (charge à nous de les appeler avec le bon nom ou d'utiliser le renommeur multiples fait en Panoramic qui vient de nous être offert ^^) Voilà, d'autres idées plus tard, je ne dis pas tout du premier coup ^^ | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Animate : Montage d'un petit dessin animé Sam 11 Juin 2011 - 16:39 | |
| Juste une petite remarque pour Jicehel, quand tu donnes des exemples de code tu devrais les entourer avec les balises code et /code (sélectionner la zone et cliquer sur le bouton 'code' de la barre d'outils). C'est beaucoup plus lisible, et on n'a pas le risque comme ici d'avoir une partie interprétée comme smiley... | |
| | | 659_minifly
Nombre de messages : 590 Age : 76 Localisation : Valenciennes Nord Date d'inscription : 29/04/2010
| Sujet: Re: Animate : Montage d'un petit dessin animé Sam 11 Juin 2011 - 18:34 | |
| Super Nicolas Bien beaucoup mieux que mon praxinoscope ( dans inutilitaire ) Tu pourrais utiliser les dessins qui se trouvent dans le poste. | |
| | | Invité Invité
| Sujet: Re: Animate : Montage d'un petit dessin animé Sam 11 Juin 2011 - 20:07 | |
| Bonjour Nicola Je voulais essayer ton petit programme, mais je me trouve devant un problème: je ne suis pas dans le bon répertoire, et je ne trouve pas la ligne qui convient: image: Je me trouve avec un disque "D" alors que j'en ai pas. Pourquoi lorsqu'on ouvre un projet, c'est pas le répertoire de open_dialog? A+ |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Animate : Montage d'un petit dessin animé Sam 11 Juin 2011 - 23:28 | |
| JL35: - Citation :
- Juste une petite remarque pour Jicehel, quand tu donnes des exemples de code tu devrais les entourer avec les balises code et /code (sélectionner la zone et cliquer sur le bouton 'code' de la barre d'outils).
Désolé, j'ai fais vite comme j'écris sur mon portable, j'ai effleuré le touchpad sur mon post et tout c'est effacé, ça m'a gonflé et j'ai hésité à tout retaper ... je l'ai fais mais un peu vite à priori, j'ai oublié de remettre les balise pour le code, désolé... en principe j'en mets. Là dans l'exemple, ce n'est pas trop grave, l'idée surtout c'est de mettre "tour=1" afin de pouvoir boucler. C'est juste une petite remarque pour éviter le problème d'indice, ce n'est pas à proprement parler du code... Cosmos70, pour le répertoire, tout est dans le fichier Test001.afv que tu peux éditer avec le notepad (recherche/remplace du chemin par le bon) d'où ma remarque pour le mettre dans une ligne en début de fichier plutôt que de le recopier à chaque ligne. Ce serait plus facilement modifiable par programme ou par un editeur. | |
| | | Invité Invité
| Sujet: Re: Animate : Montage d'un petit dessin animé Dim 12 Juin 2011 - 1:29 | |
| A Jicehel Effectivement, et tu as raison. On ne peut pas lire les exemples directement sans analyser le code en son entier. C'est pas bien Nicola de faire cette farce Mais ton programme est sympa Je ne sais plus ce que je dis: c'est bien? ou c'est pas bien Même pas vrai, rien bu ! Bon Bonne nuit |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Animate : Montage d'un petit dessin animé Dim 12 Juin 2011 - 14:49 | |
| Bon, j'ai regardé d'un peu plus près le programme, ma solution fonctionne mais en regardant la logique du programme, ce n'est pas génial (ma solution puisque les bouttons ne sont pas dans le bon état et que je fais un truc qui devrait être fait ailleurs). Du coup je vous propose un truc plus propre (Je n'ai aucun problème d'Ego ) - Code:
-
time: if tour=count(9) if checked(8)=0 timer_off 28:inactive 7 caption 6,"4": on_click 6,start else
C'est vachement mieux par ce que ça suit la logique (On a finit de lire l'animation, donc on désactive l'arret et on réactive le bouton play au lieu de pause, ...) Du coup, le programme boucle bien avec cette petite modif | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Animate : Montage d'un petit dessin animé Dim 12 Juin 2011 - 17:59 | |
| Bon, je vous fais une version un peu modifiée Un autre problème avait lieu au niveau de l'affichage du nom modifié (if faut changer le champ 13 avec la valeur confirmée J'ai modifié la façon de sauvegarder, Nicolas, dis moi si tu avais une autre idée. L'idée c'est de me dire que celui qui rentre le chemin sait ce qu'il fait. Nicolas, si tu veux mon avis, le mieux serait d'importer dans le répertoire les images quand on l'ajoute, en les renommant automatiquement pour ne pas avoir à sauvegarder les chemins complets et ne gérer que le répertoire du projet. (Ce qui simplifie la vie pour les autres qui n'ont pas la même arborescence que toi - ou que moi) J'ai rajouté quelques commentaires et modifié le code à ma sauce. PS: JL35, tu as continué ton 'reformateur automatique' de code ? - Code:
-
' Programme: ANIMATE ' Description: Montage d'un mini dessin animé ' Version: 1.2 ' Auteur: Nicolas
' Définition des variables dim mess,Nom$,i,j,Fichier$,time,fps,number(30),choix,images,fps$,save,tour dim NomPath$,MusicFichier$,MusicPath$,MusicNom$,son
' Définition des étiquettes de sous-programmes label modifname,confirm,save,saveproject,fps,open,addimage,deleteimage,click label index,code,start,arret,time,pause,restart,parcourir,suppr
' Définition des valeurs des temps d'attente pour avoir x image par secondes ' x=1 =>1000 x=2 =>500 x=4 =>250 x=5 =>200 x=8 => 125 x=10 =>100 x=12 =>85 x=15 =>70 x=24 =>40 x=30 =>33 number(1)=1000:number(2)=500:number(4)=250:number(5)=200:number(8)=125:number(10)=100:number(12)=85:number(15)=70:number(24)=40:number(30)=33
REM Préparation de la fenêtre principale width 0,500 : height 0, 180 : caption 0,"Animate"
REM Définition des valeurs par défaut (Nb images par secondes, nom du projet, ...) fps=15 : Nom$="Fichier_Animate.afv"
REM Image 1: zone d'affichage de l'animation picture 1 : left 1,337 : top 1,5 : width 1,150 : height 1,120 : color 1,0,0,0
REM Affiche le numéro de l'image en cours alpha 4 : left 4,290 : top 4,76 : font_color 4,0,0,255
REM Affichera la légende 'Image' quand nous serons sur une image alpha 5 : left 5,257 : top 5,76
REM Bouton Lecture (start) button 6 : left 6,337 : top 6,130 : width 6,30 : height 6,21 : inactive 6 : font_name 6,"Webdings": font_size 6,14 : caption 6,"4" : on_click 6,start
REM Bouton Stop button 7 : left 7,372 : top 7,130 : width 7,30 : height 7,21 : inactive 7 : font_name 7,"Webdings": caption 7,"g": on_click 7,arret
REM Case à cocher Répétitif (oui / non) check 8 : left 8,5 : top 8,50 : width 8,60 : caption 8,"Répétitif"
REM Liste des images (affiche l'image si on clique dessus, le test des touches se fait dans code list 9 : left 9,5 : top 9,101 : width 9,327 : height 9,50 : on_click 9,click: on_key_down 9,code
REM Affiche le nombre d'mages du projet (par défaut, 0) alpha 10 : left 10,7 : top 10,89 : font_name 10,"Tahoma":font_size 10,7:caption 10,"Nombre d'images : 0"
REM Affiche le nombre d'images par secondes (par défaut 15) alpha 11 : left 11,130 : top 11,89 : font_name 11,"Tahoma":font_size 11,7:caption 11,"FPS : 15"
REM Affiche le texte par défaut 'Toutes les images sont trouvées' puisqu'il n'y en a aucune alpha 12 : left 12,197 : top 12,89 : font_name 12,"Tahoma":font_size 12,7:caption 12,"Toutes les images sont trouvées":inactive 12
REM Nom du projet (affiché quand on ne le modifie pas) alpha 13 : left 13,5 : top 13,5 : caption 13,Nom$ : font_bold 13
REM Edition du Nom du projet quand on clique sur Modifier edit 17 : left 17,5 : top 17,3 : width 17,180 : hide 17 : text 17,Nom$
REM Légende FPS (Nombre d'images par seconde) alpha 14 : left 14,5 : top 14,26 : caption 14,"FPS :" : hint 14,"Images par seconde"
REM Liste déroulante du nombre d'image par secondes combo 15 : left 15,32 : top 15,24 : width 15,35 : font_name 15,"Tahoma" : font_size 15,7 : text 15,"15" item_add 15,"1":item_add 15,"2":item_add 15,"4":item_add 15,"5":item_add 15,"8":item_add 15,"10":item_add 15,"12":item_add 15,"15":item_add 15,"24":item_add 15,"30" : on_click 15,fps
REM Bouton Modifier button 16 : left 16,252 : top 16,3 :height 16,21 :width 16,80 : caption 16,"Modifier" : on_click 16,modifname
REM Bouton Enregistrer button 18 : left 18,252 : top 18,29 : height 18,21 : width 18,80 : caption 18,"Enregistrer" :on_click 18,save
REM Bouton Ouvrir button 24 : left 24,252 : top 24,55 : height 24,21 : width 24,80 : caption 24,"Ouvrir un projet" : on_click 24,open
REM Bouton Ajouter image button 25 : left 25,5 : top 25,70 : height 25,17 : width 25,65 : caption 25,"Ajouter" : on_click 25,addimage: set_focus 25
REM Bouton Supprimer image button 26 : left 26,75 : top 26,70 : height 26,17 : width 26,65 : caption 26,"Supprimer" : on_click 26,deleteimage
REM Audio alpha 29 : left 29,80 : top 29,30 : font_size 29,10 : caption 29,"Audio"
REM Bouton Parcourir pour choisir la piste audio ou le son à jouer button 30 : left 30,120 : top 30,30 : height 30,17 : width 30,17 : caption 30,"..." : on_click 30,parcourir
REM Boutton Supprimer la piste audio button 33 : inactive 33 : left 33,140 : top 33,30 : height 33,17 : width 33,17 : font_name 33,"Webdings" :caption 33,"r" :on_click 33,suppr
REM trait à gauche du nom de la piste audio et 'Aucun audio' en texte par défaut picture 31 : left 31,77 : top 31,47 : width 31,1 : height 31,13 : color 31,0,0,0 alpha 32 : left 32,82 : top 32,47 : caption 32,"Aucun audio"
form 19:hide 19:left 19,100:top 19,50:height 19,0:height 19,height(19)+57:width 19,400:caption 19,"Enregistrer le projet":command_target_is 19 alpha 20:left 20,5:top 20,5:caption 20,"Enregistrer dans :" edit 21:left 21,90:top 21,3:width 21,297 button 22:left 22,317:width 22,70:height 22,21:top 22,29:caption 22,"Enregistrer":on_click 22,saveproject
dlist 23
timer 27 : timer_interval 27,1 : on_timer 27,index timer 28 : on_timer 28,time : timer_off 28
sound 98
end
code: REM test de la touche enfoncée sur la liste des images if key_down_code=46 then goto deleteimage : REM si on appuye sur suppr, on supprime l'image de la liste return
modifname: REM Passage en mode modification du nom du projet hide 13 : show 17 : top 15,27 : top 14,29 : REM on cache le nom et on affiche la zone editable pour le modifier caption 16,"Confirmer": on_click 16,confirm : REM on change le texte du bouton en 'Confirmer' et l'on traitera si on appuie dessus return
confirm: REM Traitement de la confirmation de changement de nom du projet hide 17: show 13 : top 15,24 : top 14,26 : REM on cache la zone éditable et on réaffiche le nom modifié on_click 16,modifname:caption 16,"Modifier" : REM on remet le bouton 'Modifier' en place if right$(text$(17),4)<>".afv" then caption 13,text$(17)+".afv" : REM on force l'extension en .afv Nom$=text$(17) : caption 13,Nom$ : REM on mets à jour Nom$ avec la nouvelle valeur du nom du projet return
save: REM Sauvegarde du projet if count(9)=0 then return : REM Même pas en rêve que tu sauve ton projet vide, non mais !! if save=1 then goto saveproject show 19 text 21,dir_current$ caret_position 21,len(text$(21)) return
saveproject: clear 23 for i=1 to count(9) : item_add 23,item_read$(9,i) : next i if (numeric(text$(15)))=1 and val(text$(15))<31 and val(text$(15))>0 item_add 23,"FPS;"+text$(15) else item_add 23,"FPS;15" end_if item_add 23,"Repetitif;"+str$(checked(8)) if save=1 then file_save 23,Nom$:return if right$(text$(21),1)<>"\" then text 21,text$(21)+"\" if dir_exists(text$(21))=0 then beep: dir_make text$(21) file_save 23,text$(21) + Nom$ hide 19 return
fps: REM Réglage des valeurs du nombre d'images en fonction de la valeur contenue dans l'objet 15 caption 11,"FPS : "+text$(15) : fps=val(text$(15)) : choix=val(text$(15)) return
open: open_dialog 100 : filter 100,"Projets Animate|*.afv" : Fichier$=file_name$(100) : delete 100 : REM Ouverture du projet j=len(Fichier$) : NomPath$="" : Nom$="" for i=j to 1 step -1 if (mid$(Fichier$,i,1)="\") and i < j then NomPath$=mid$(Fichier$,1,i): Nom$=mid$(Fichier$,i+1,j-i): exit_for next i if file_exists(Fichier$)=1 clear 9 text 17,Nom$ caption 13,Nom$ save=0 file_load 23,Fichier$ for i=1 to count(23) if left$(item_read$(23,i),4)="FPS;" fps$="" for j=5 to len(item_read$(23,i)) fps$=fps$+mid$(item_read$(23,i),j,1) fps=val(fps$) next j text 15,fps$ end_if if left$(item_read$(23,i),10)="Repetitif;" if right$(item_read$(23,i),1)="1" mark_on 8 else mark_off 8 end_if end_if next i for i=1 to count(23) if left$(item_read$(23,i),4)="FPS;" then exit_for item_add 9,item_read$(23,i) next i images=count(9) for i=1 to count(9) if file_exists(item_read$(9,i))=0 caption 12,"Certaines images sont manquantes":active 12 else active 12 end_if next i end_if return
deleteimage: REM Supprime l'image selctionnée if item_index(9)<>0 then item_delete 9,item_index(9):2d_target_is 1:cls:color 1,0,0,0:images=images-1 : save = 1 return
addimage: REM fenêtre d'ajout d'une image open_dialog 100 : filter 100,"Images BMP et JPG|*.bmp;*.jpg;*.jpeg" : Fichier$=file_name$(100) : delete 100 if file_exists(Fichier$)=1 then item_add 9,Fichier$: time=fps*count(9) : images=images+1 : save = 1 return
click: REM affiche une image si l'on clique dessus if file_exists(item_index$(9))=1 then file_load 1,item_index$(9) return
index: REM Test le nombre d'images dans la liste (objet n°9) if item_index(9)=0 then inactive 26 : else: active 26 : REM Si au moins une image, on peut la supprimer sinon ben on peut pas ... if count(9)>1 then active 6 : else : inactive 6 caption 10,"Nombre d'images : "+str$(images) : caption 11,"FPS : "+str$(fps) return
start: REM Procédure lecture de l'animation if son=1 then play 98 active 7 : timer_interval 28,number(fps) : timer_on 28 : tour=1 : caption 6,";" : on_click 6,pause return
arret: REM Procédure de traitement de l'appuie sur le bouton 'Stop' if son=1 then file_load 98,MusicFichier$ caption 5,"":caption 4,"" : timer_off 28 : cls : color 1,0,0,0 : on_click 6,start : inactive 7 : caption 6,"4" return
time: REM Si le temps entre 2 images s'est écoulé, affiche la suivante ou arrète l'animation si finie if tour=count(9) if checked(8)=0 timer_off 28:inactive 7 caption 6,"4": on_click 6,start else if son=1 then file_load 98,MusicFichier$:play 98 tour=1 end_if end_if file_load 1,item_read$(9,tour) tour=tour+1 caption 5,"Image":caption 4,str$(tour) return
restart: REM traite le redémarrage de l'animation if son=1 then play 98 timer_on 28 : caption 6,";" : on_click 6,pause return
pause: REM Traite l'appuie sur le bouton 'Pause' if son=1 then file_load 98,MusicFichier$ timer_off 28: caption 6,"4" : on_click 6,restart return
parcourir: REM Traitement de l'appuie sur le bouton '...' pour séléctionner le son à jouer durant l'animation open_dialog 100 : filter 100,"Musiques MP3 et MID|*.mp3;*.mid|Sons WAV|*.wav" : MusicFichier$=file_name$(100) : delete 100 j=len(MusicFichier$) : MusicPath$="" : MusicNom$="" for i=j to 1 step -1 if (mid$(MusicFichier$,i,1)="\" and i<j) then MusicPath$=mid$(MusicFichier$,1,i) : MusicNom$=mid$(MusicFichier$,i+1,j-i) : exit_for next i if file_exists(MusicFichier$)=1 then caption 32,MusicNom$ : file_load 98,MusicFichier$ : son=1 : active 33 return
suppr: REM Traite la suppression du son choisi son=0 : caption 32,"Aucun audio" : inactive 33 return | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Animate : Montage d'un petit dessin animé Dim 12 Juin 2011 - 21:28 | |
| Tu veux dire le programme qui faisait les indentations automatiques ? euh non, je l'ai laissé en l'état, en ce qui me concerne je fais la mise en forme au moment de la saisie, ce n'est pas trop contraignant et on y voit tout de suite plus clair... alors je ne suis pas très motivé. Mais il devait marcher tel quel ? Certains éditeurs le proposent en natif, de même que la mise automatique en majuscules des mots-clés, ce n'est pas le cas de l'éditeur Panoramic, mais dans l'ordre des urgences Jack a bien d'autres chats à fouetter ! PS: si tu faisais référence à ça: https://panoramic.1fr1.net/t298-mise-en-forme-de-source-panoramic effectivement il existe une version beaucoup plus complète, avec mise en majuscules et indentations... tu me dis si ça t'intéresse. PS2 effectivement il y a eu cette discussion https://panoramic.1fr1.net/t506-mise-en-forme-des-sources?highlight=mise+en+forme et il semble que je n'aie jamais publié le programme, mais je répète, si ça t'intéresse... Et j'arrête de polluer le sujet de Nicolas ! | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Animate : Montage d'un petit dessin animé Dim 12 Juin 2011 - 22:20 | |
| Bon, je ne vais pas polluer, mais oui, ça m'interesse ^^ Je fais un effort pour être cohérent, mais bon, ce n'est pas toujours le cas ... | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Animate : Montage d'un petit dessin animé Dim 12 Juin 2011 - 22:36 | |
| Bon, je crée un autre sujet pour toi tout seul... pardon Nicolas. | |
| | | Contenu sponsorisé
| Sujet: Re: Animate : Montage d'un petit dessin animé | |
| |
| | | | Animate : Montage d'un petit dessin animé | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |