FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
Animate : Montage d'un petit dessin animé Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
Animate : Montage d'un petit dessin animé Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Animate : Montage d'un petit dessin animé Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Animate : Montage d'un petit dessin animé Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Animate : Montage d'un petit dessin animé Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Animate : Montage d'un petit dessin animé Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Animate : Montage d'un petit dessin animé Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Animate : Montage d'un petit dessin animé Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Animate : Montage d'un petit dessin animé Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Animate : Montage d'un petit dessin animé Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Animate : Montage d'un petit dessin animé Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Animate : Montage d'un petit dessin animé Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Animate : Montage d'un petit dessin animé Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Animate : Montage d'un petit dessin animé Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Animate : Montage d'un petit dessin animé Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le Deal du moment :
Smartphone Xiaomi 14 – 512 Go- 6,36″ 5G ...
Voir le deal
599 €

 

 Animate : Montage d'un petit dessin animé

Aller en bas 
3 participants
AuteurMessage
Invité
Invité




Animate : Montage d'un petit dessin animé Empty
MessageSujet: Animate : Montage d'un petit dessin animé   Animate : Montage d'un petit dessin animé EmptySam 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 exemple
2e exemple

Amusez-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
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Animate : Montage d'un petit dessin animé Empty
MessageSujet: Re: Animate : Montage d'un petit dessin animé   Animate : Montage d'un petit dessin animé EmptySam 11 Juin 2011 - 15:52

Salut, bonne idée Smile

Pour pouvoir rejouer une animation, tu devrais modifier le routime time comme ça, je pense:

time:
if tour=count(9)
if checked(Cool=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 ^^
Revenir en haut Aller en bas
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

Animate : Montage d'un petit dessin animé Empty
MessageSujet: Re: Animate : Montage d'un petit dessin animé   Animate : Montage d'un petit dessin animé EmptySam 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...
Revenir en haut Aller en bas
659_minifly




Nombre de messages : 590
Age : 76
Localisation : Valenciennes Nord
Date d'inscription : 29/04/2010

Animate : Montage d'un petit dessin animé Empty
MessageSujet: Re: Animate : Montage d'un petit dessin animé   Animate : Montage d'un petit dessin animé EmptySam 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.
Revenir en haut Aller en bas
Invité
Invité




Animate : Montage d'un petit dessin animé Empty
MessageSujet: Re: Animate : Montage d'un petit dessin animé   Animate : Montage d'un petit dessin animé EmptySam 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:
Animate : Montage d'un petit dessin animé Des1f
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+
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Animate : Montage d'un petit dessin animé Empty
MessageSujet: Re: Animate : Montage d'un petit dessin animé   Animate : Montage d'un petit dessin animé EmptySam 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.
Revenir en haut Aller en bas
Invité
Invité




Animate : Montage d'un petit dessin animé Empty
MessageSujet: Re: Animate : Montage d'un petit dessin animé   Animate : Montage d'un petit dessin animé EmptyDim 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 bounce
Mais ton programme est sympa Wink

Je ne sais plus ce que je dis: c'est bien? ou c'est pas bien drunken
Même pas vrai, rien bu !

Bon Sleep Bonne nuit
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Animate : Montage d'un petit dessin animé Empty
MessageSujet: Re: Animate : Montage d'un petit dessin animé   Animate : Montage d'un petit dessin animé EmptyDim 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 Very Happy (Je n'ai aucun problème d'Ego Shocked )

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
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Animate : Montage d'un petit dessin animé Empty
MessageSujet: Re: Animate : Montage d'un petit dessin animé   Animate : Montage d'un petit dessin animé EmptyDim 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
Revenir en haut Aller en bas
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

Animate : Montage d'un petit dessin animé Empty
MessageSujet: Re: Animate : Montage d'un petit dessin animé   Animate : Montage d'un petit dessin animé EmptyDim 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 !
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Animate : Montage d'un petit dessin animé Empty
MessageSujet: Re: Animate : Montage d'un petit dessin animé   Animate : Montage d'un petit dessin animé EmptyDim 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 ...
Revenir en haut Aller en bas
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

Animate : Montage d'un petit dessin animé Empty
MessageSujet: Re: Animate : Montage d'un petit dessin animé   Animate : Montage d'un petit dessin animé EmptyDim 12 Juin 2011 - 22:36

Bon, je crée un autre sujet pour toi tout seul... pardon Nicolas.
Revenir en haut Aller en bas
Contenu sponsorisé





Animate : Montage d'un petit dessin animé Empty
MessageSujet: Re: Animate : Montage d'un petit dessin animé   Animate : Montage d'un petit dessin animé Empty

Revenir en haut Aller en bas
 
Animate : Montage d'un petit dessin animé
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Dessin sur A4
» Dessin
» Un petit programme de dessin sans prétention
» Dessin(x)
» Fabriquer un gif animé

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: