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 |
|
|
| Titrage - génériques | |
| | |
Auteur | Message |
---|
Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Titrage - génériques Lun 30 Jan 2017 - 14:43 | |
| Bonjour à tous ! Je vous livre les quelques essais de titrage (génériques) que j'ai fait dimanche. Maintenant, je vais me changer les idées en allant voir le Puissance 4 en 2D en cours de développement sur le forum. - Code:
-
WIDTH 0, 800 HEIGHT 0, 500 LEFT 0,(screen_x-800)/2 TOP 0,(screen_y-500)/2
LABEL Quitter
DIM x,y,z
DIM h,w w = WIDTH_CLIENT(0) h = HEIGHT_CLIENT(0)
ON_CLOSE 0, Quitter
espace_sideral()
generic_part_1() generic_part_2() generic_part_3() generic_part_4() generic_part_5()
TERMINATE end ' ------------------------------------------------------------------------------ SUB generic_part_1() DIM_LOCAL i FONT_NAME 10,"arial" FONT_SIZE 10,30 FONT_BOLD 10 FONT_COLOR 10,0,160,40 : ' couleur des textes SPRITE_TEXT 1," Une Production " SPRITE_TEXT 2," MARC Limited " SPRITE_POSITION 1, 250,170 SPRITE_POSITION 2, 250,220 FOR i = 1 to 25 deplace() pause 50 NEXT i SPRITE_SHOW 1 SPRITE_SHOW 2 FOR i = 1 to 10 deplace() pause 50 NEXT i FOR i = 0 to -70 STEP -1 SPRITE_BRIGHTNESS 1, i SPRITE_BRIGHTNESS 2, i deplace() pause 50 NEXT i SPRITE_HIDE 1 SPRITE_HIDE 2 END_SUB ' ------------------------------------------------------------------------------ SUB generic_part_2() DIM_LOCAL i FONT_NAME 10,"arial" FONT_SIZE 10,25 FONT_BOLD 10 FONT_COLOR 10,0,200,250 : ' couleur des textes SPRITE_TEXT 1," Il y a quelque temps, naissait " SPRITE_TEXT 2," un langage simple et convivial," SPRITE_TEXT 3," très convivial… " SPRITE_POSITION 1, 150,150 SPRITE_POSITION 2, 150,200 SPRITE_POSITION 3, 150,250 SPRITE_SHOW 1 SPRITE_SHOW 2 SPRITE_SHOW 3 FOR i = 1 to 10 deplace() pause 50 NEXT i FOR i = 0 to -25 STEP -1 SPRITE_BRIGHTNESS 1, i SPRITE_BRIGHTNESS 2, i SPRITE_BRIGHTNESS 3, i deplace() pause 25 NEXT i SPRITE_HIDE 1 SPRITE_HIDE 2 SPRITE_HIDE 3 END_SUB ' ------------------------------------------------------------------------------ SUB generic_part_3() DIM_LOCAL i,j FONT_NAME 10,"arial" FONT_SIZE 10,50 FONT_COLOR 10,240,240,127 : ' couleur des textes FONT_BOLD_off 10 SPRITE_TEXT 1," Le langage " FONT_BOLD_OFF 10 FONT_SIZE 10,60 SPRITE_TEXT 2," PANORAMIC " SPRITE_POSITION 1, 200,140 SPRITE_POSITION 2, 130,240 SPRITE_SHOW 1 SPRITE_SHOW 2 FOR i = 1 to 10 deplace() pause 50 NEXT i FOR i = 0 to 250 step 2 SPRITE_POSITION 1,200+i,140-i deplace() NEXT i FOR i = 0 to -25 STEP -1 SPRITE_BRIGHTNESS 2, i deplace() pause 25 NEXT i SPRITE_HIDE 1 SPRITE_HIDE 2 END_SUB ' ------------------------------------------------------------------------------ SUB generic_part_4() DIM_LOCAL i,j,k FONT_NAME 10,"arial" FONT_SIZE 10,24 FONT_BOLD_OFF 10 FONT_COLOR 10,240,250,50 : ' couleur des textes SPRITE_TEXT 1,"PANORAMIC est un langage simple" SPRITE_TEXT 2,"et convivial utilisant la syntaxe du" SPRITE_TEXT 3,"célèbre langage Basic. Il a été étudié" SPRITE_TEXT 4,"pour être simple d'utilisation." SPRITE_TEXT 5,"Ce logiciel s'appelle PANORAMIC" SPRITE_TEXT 6,"parce qu'il a un très large champ" SPRITE_TEXT 7,"d'activités : objets systèmes, sons" SPRITE_TEXT 8,"musiques, images, films, dessins" SPRITE_TEXT 9,"en 2D, mondes 2D avec gestion de" SPRITE_TEXT 10,"SPRITES, mondes 3D avec objets 3D" SPRITE_TEXT 11,"caméra 3D, lumière 3D, fichiers texte" SPRITE_TEXT 12,"pilotage d'EXCEL, etc, etc." FOR i = 1 to 12 SPRITE_POSITION i, 135,-500+(38*i) SPRITE_SHOW i NEXT i k=1 FOR i = 450 to -500 STEP -1 FOR j = 1 to 12 SPRITE_POSITION j, 135,i+(j*38) DISPLAY NEXT j NEXT i FOR i = 1 to 12 SPRITE_HIDE i NEXT i END_SUB ' ------------------------------------------------------------------------------ SUB generic_part_5() DIM_LOCAL i ,j FONT_NAME 10,"arial" FONT_SIZE 10,80 FONT_BOLD 10 FONT_COLOR 10,250,250,250 : ' couleur des textes SPRITE_TEXT 1," F " SPRITE_TEXT 2, " I " SPRITE_TEXT 3, " N " SPRITE_POSITION 1, 770,170 SPRITE_POSITION 2, 350,170 SPRITE_POSITION 3, -100,170 FOR i = 1 to 3 SPRITE_SHOW i NEXT i FOR j = 500 to 0 STEP -2 SPRITE_POSITION 1,270+j,170 SPRITE_POSITION 3,400-j,170 DISPLAY deplace() NEXT j
FOR i = 1 to 10 deplace() pause 50 NEXT i FOR i = 0 to -50 STEP -1 SPRITE_BRIGHTNESS 1, i SPRITE_BRIGHTNESS 2, i SPRITE_BRIGHTNESS 3, i deplace() Pause 50 NEXT i SPRITE_HIDE 1 FOR i = 0 to -50 STEP -2 FOR j = 20 to 23 SPRITE_BRIGHTNESS j, i deplace() pause 50 NEXT j NEXT i END_SUB ' ------------------------------------------------------------------------------ SUB Espace_sideral() DIM_LOCAL i% PICTURE 1 FULL_SPACE 1 COLOR 1,0,0,0 2d_target_is 1 2d_pen_color 255,255,255 for i%=1 to 250 2d_point int(rnd(w)),int(rnd(h)) next i% for i%=1 to 25 2d_circle int(rnd(w)),int(rnd(h)),2 next i% IMAGE 2 2D_IMAGE_COPY 2,0,0,w,h CLS COLOR 1,0,0,0 2d_target_is 1 2d_pen_color 255,255,255 for i%=1 to 250 2d_point int(rnd(w)),int(rnd(h)) next i% for i%=1 to 10 2d_circle int(rnd(w)),int(rnd(h)),3 next i% IMAGE 3 2D_IMAGE_COPY 3,0,0,w,h SCENE2D 10 FULL_SPACE 10 SPRITE_CREATE_HIDE FOR i% = 1 to 12 SPRITE i% NEXT i% FOR i% = 20 to 23 SPRITE i% NEXT i% SPRITE_IMAGE_LOAD 20,3 SPRITE_IMAGE_LOAD 21,3 SPRITE_IMAGE_LOAD 22,2 SPRITE_IMAGE_LOAD 23,2 x=0 y=0 SPRITE_POSITION 20,x,y-h SPRITE_POSITION 21,x,y SPRITE_POSITION 22,x,z-h SPRITE_POSITION 23,x,z FOR i% = 20 to 23 SPRITE_SHOW i% NEXT i% END_SUB ' ------------------------------------------------------------------------------ SUB deplace() SPRITE_POSITION 20,x,y-h SPRITE_POSITION 21,x,y pause 10 SPRITE_POSITION 22,x,z-h SPRITE_POSITION 23,x,z y=y+1 z=z+1 pause 10 SPRITE_POSITION 20,x,y-h SPRITE_POSITION 21,x,y y=y+1 END_SUB ' ------------------------------------------------------------------------------ Quitter: TERMINATE RETURN ' ------------------------------------------------------------------------------
Dernière édition par Marc37 le Lun 30 Jan 2017 - 16:32, édité 1 fois | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Lun 30 Jan 2017 - 16:09 | |
| Génial Marc37 ! Même si le défilement est un peu lent, les effets sont superbes. Je vais regarder ton code de près et je le garde dans quelques octets de ma clef mémoire. | |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Titrage - génériques Lun 30 Jan 2017 - 16:16 | |
| Merci Ygeronimi, Ce n'est que du brouillon écrit en vrac pour tester les possibilités. Mais il est vrai que Panoramic de base est assez lent. Il faudrait un super compilateur turbo | |
| | | jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: +++ Lun 30 Jan 2017 - 16:29 | |
| Joli ! On dirait une publicité à la télé. (D'ailleurs, c'est là qu'on devrait l'y trouver) Amusante prestation ! | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Lun 30 Jan 2017 - 16:33 | |
| si tu boucles avec for tu peux accélérer avec step... | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Titrage - génériques Lun 30 Jan 2017 - 17:26 | |
| Effectivement, c'est assez spectaculaire et bien fait.
On peut peut-être accélérer (un peu) en mettant les 'pause' au minimum. On peut aussi en jouant sur les step comme dit ygeronimi, en mettant par exemple -2 au lieu de -1, mais ça devient un peu saccadé et moins fluide.
En tout cas, bravo Marc ! | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Titrage - génériques Lun 30 Jan 2017 - 20:55 | |
| Excellent travail ! On se croirait dans Pangine2D ! @Jack, Tu nous a dit que tu comptais intégrer Pangine2D à Panoramic, l'essai de Marc prouve qu'il y aura des utilisateurs... Bravo Marc ! | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Titrage - génériques Lun 30 Jan 2017 - 22:23 | |
| Super boulot. Ça peut clairement servir pour les intros Pour moi par contre le texte défilant sur 12 lignes, c'est le seul qui ne me convainc pas. Je pense que tu devrais plutôt chercher une autre solution comme de mettre le texte sur une picture avec les 12 lignes et charger un sprite avec ces 12 lignes. Je pense que ce sprite devrait être plus rapide à faire scroller vers le haut. J'ai fais quelques modifs pour voir et proposer des idées dont tu te serviras peut être si tu en trouves bonnes certaines - Code:
-
WIDTH 0, 800 HEIGHT 0, 500 LEFT 0,(screen_x-800)/2 TOP 0,(screen_y-500)/2
LABEL Quitter
DIM x,y,z
DIM h,w w = WIDTH_CLIENT(0) h = HEIGHT_CLIENT(0)
ON_CLOSE 0, Quitter
espace_sideral()
generic_part_1() generic_part_2() generic_part_3() generic_part_4() generic_part_5()
TERMINATE end ' ------------------------------------------------------------------------------ SUB generic_part_1() DIM_LOCAL i FONT_NAME 10,"arial" FONT_SIZE 10,30 FONT_BOLD 10 FONT_COLOR 10,0,160,40 : ' couleur des textes SPRITE_TEXT 1," Une Production " SPRITE_TEXT 2," MARC Limited " SPRITE_POSITION 1, 250,170 SPRITE_POSITION 2, 250,220 FOR i = 1 to 15 deplace() PAUSE 20 NEXT i SPRITE_SHOW 1 SPRITE_SHOW 2 FOR i = 1 to 15 deplace() PAUSE 20 NEXT i FOR i = 0 to -70 STEP -2 SPRITE_BRIGHTNESS 1, i SPRITE_BRIGHTNESS 2, i deplace() PAUSE 20 NEXT i SPRITE_HIDE 1 SPRITE_HIDE 2 END_SUB ' ------------------------------------------------------------------------------ SUB generic_part_2() DIM_LOCAL i FONT_NAME 10,"arial" FONT_SIZE 10,25 FONT_BOLD 10 FONT_COLOR 10,0,200,250 : ' couleur des textes SPRITE_TEXT 1," Il y a quelque temps, naissait " SPRITE_TEXT 2," un langage simple et convivial," SPRITE_TEXT 3," très convivial… " SPRITE_POSITION 1, 150,150 SPRITE_POSITION 2, 150,200 SPRITE_POSITION 3, 150,250 SPRITE_SHOW 1 SPRITE_SHOW 2 SPRITE_SHOW 3 FOR i = 1 to 10 deplace() PAUSE 20 NEXT i FOR i = 0 to -25 STEP -1 SPRITE_BRIGHTNESS 1, i SPRITE_BRIGHTNESS 2, i SPRITE_BRIGHTNESS 3, i deplace() PAUSE 20 NEXT i SPRITE_HIDE 1 SPRITE_HIDE 2 SPRITE_HIDE 3 END_SUB ' ------------------------------------------------------------------------------ SUB generic_part_3() DIM_LOCAL i,j FONT_NAME 10,"arial" FONT_SIZE 10,50 FONT_COLOR 10,240,240,127 : ' couleur des textes FONT_BOLD_off 10 SPRITE_TEXT 1," Le langage " FONT_BOLD_OFF 10 FONT_SIZE 10,60 SPRITE_TEXT 2," PANORAMIC " SPRITE_POSITION 1, 200,140 SPRITE_POSITION 2, 130,240 SPRITE_SHOW 1 SPRITE_SHOW 2 FOR i = 1 to 10 deplace() PAUSE 20 NEXT i FOR i = 0 to 250 step 4 SPRITE_POSITION 1,200+i,140-i deplace() PAUSE 20 NEXT i FOR i = 0 to -25 STEP -1 SPRITE_BRIGHTNESS 2, i deplace() PAUSE 20 NEXT i SPRITE_HIDE 1 SPRITE_HIDE 2 END_SUB ' ------------------------------------------------------------------------------ SUB generic_part_4() DIM_LOCAL i,j,k FONT_NAME 10,"arial" FONT_SIZE 10,24 FONT_BOLD_OFF 10 FONT_COLOR 10,240,250,50 : ' couleur des textes SPRITE_TEXT 1,"PANORAMIC est un langage simple" SPRITE_TEXT 2,"et convivial utilisant la syntaxe du" SPRITE_TEXT 3,"célèbre langage Basic. Il a été étudié" SPRITE_TEXT 4,"pour être simple d'utilisation." SPRITE_TEXT 5,"Ce logiciel s'appelle PANORAMIC" SPRITE_TEXT 6,"parce qu'il a un très large champ" SPRITE_TEXT 7,"d'activités : objets systèmes, sons" SPRITE_TEXT 8,"musiques, images, films, dessins" SPRITE_TEXT 9,"en 2D, mondes 2D avec gestion de" SPRITE_TEXT 10,"SPRITES, mondes 3D avec objets 3D" SPRITE_TEXT 11,"caméra 3D, lumière 3D, fichiers texte" SPRITE_TEXT 12,"pilotage d'EXCEL, etc, etc." FOR i = 1 to 12 SPRITE_POSITION i, 135,-500+(38*i) SPRITE_SHOW i PAUSE 5 NEXT i k=1 FOR i = 450 to -500 STEP -4 FOR j = 1 to 12 SPRITE_POSITION j, 135,i+(j*38) NEXT j deplace() DISPLAY NEXT i FOR i = 1 to 12 SPRITE_HIDE i PAUSE 5 NEXT i END_SUB ' ------------------------------------------------------------------------------ SUB generic_part_5() DIM_LOCAL i ,j FONT_NAME 10,"arial" FONT_SIZE 10,80 FONT_BOLD 10 FONT_COLOR 10,250,250,250 : ' couleur des textes SPRITE_TEXT 1," F " SPRITE_TEXT 2, " I " SPRITE_TEXT 3, " N " SPRITE_POSITION 1, 770,170 SPRITE_POSITION 2, 350,170 SPRITE_POSITION 3, -100,170 FOR i = 1 to 3 SPRITE_SHOW i NEXT i FOR j = 500 to 0 STEP -3 SPRITE_POSITION 1,270+j,170 SPRITE_POSITION 3,400-j,170 DISPLAY deplace() PAUSE 5 NEXT j
FOR i = 1 to 10 deplace() pause 50 NEXT i FOR i = 0 to -50 STEP -5 SPRITE_BRIGHTNESS 1, i SPRITE_BRIGHTNESS 2, i SPRITE_BRIGHTNESS 3, i deplace() PAUSE 5 NEXT i SPRITE_HIDE 1 FOR i = 0 to -50 STEP -5 FOR j = 20 to 23 SPRITE_BRIGHTNESS j, i deplace() PAUSE 5 NEXT j NEXT i END_SUB ' ------------------------------------------------------------------------------ SUB Espace_sideral() DIM_LOCAL i% PICTURE 1 FULL_SPACE 1 COLOR 1,0,0,0 2d_target_is 1 2d_pen_color 255,255,255 for i%=1 to 250 2d_point int(rnd(w)),int(rnd(h)) next i% for i%=1 to 25 2d_circle int(rnd(w)),int(rnd(h)),2 next i% IMAGE 2 2D_IMAGE_COPY 2,0,0,w,h CLS COLOR 1,0,0,0 2d_target_is 1 2d_pen_color 255,255,255 for i%=1 to 250 2d_point int(rnd(w)),int(rnd(h)) next i% for i%=1 to 10 2d_circle int(rnd(w)),int(rnd(h)),3 next i% IMAGE 3 2D_IMAGE_COPY 3,0,0,w,h SCENE2D 10 FULL_SPACE 10 SPRITE_CREATE_HIDE FOR i% = 1 to 12 SPRITE i% NEXT i% FOR i% = 20 to 23 SPRITE i% NEXT i% SPRITE_IMAGE_LOAD 20,3 SPRITE_IMAGE_LOAD 21,3 SPRITE_IMAGE_LOAD 22,2 SPRITE_IMAGE_LOAD 23,2 x=0 y=0 SPRITE_POSITION 20,x,y-h SPRITE_POSITION 21,x,y SPRITE_POSITION 22,x,z-h SPRITE_POSITION 23,x,z FOR i% = 20 to 23 SPRITE_SHOW i% NEXT i% END_SUB ' ------------------------------------------------------------------------------ SUB deplace() SPRITE_POSITION 20,x,y-h SPRITE_POSITION 21,x,y pause 10 SPRITE_POSITION 22,x,z-h SPRITE_POSITION 23,x,z y=y+1 z=z+1 pause 10 SPRITE_POSITION 20,x,y-h SPRITE_POSITION 21,x,y y=y+1 END_SUB ' ------------------------------------------------------------------------------ Quitter: TERMINATE RETURN ' ------------------------------------------------------------------------------ J'espère que tu continueras tes travaux. C'est plus que prometteur. Les réglages sont complexes mais tu as déjà un résultat très sympas surtout avec les changement de luminosité. | |
| | | silverman
Nombre de messages : 970 Age : 52 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Re: Titrage - génériques Mar 31 Jan 2017 - 12:46 | |
| Belle démo! Dommage que panoramic soit à genoux avec seulement 16 sprites | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mar 31 Jan 2017 - 13:43 | |
| Je pense que cela ira mieux si jack arrive à intégrer le moteur de pangin à Panoramic. | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Titrage - génériques Mer 1 Fév 2017 - 10:11 | |
| Qui sait quand ce sera intégré il refera peut être la même démo avec les bonnes fonctions pour montrer la différence de rendu ? | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mer 1 Fév 2017 - 13:32 | |
| Perso, je n' ai pas tout compris du fonctionnement de "IMAGE" Cet "objet" n' ayant pas de dimensionnement possible, il me semble qu' il prend celle du fichier chargé. Je pense donc que le mieux serait de charger un fichier de fond noir (0,0,0) avec les dimensions du SCENE2D puis d'y écrire les lignes du générique et de le charge le tout dans un SPRITE défilant par SPRITE_IMAGE_LOAD. Mais bon, je dis peut-être une bêtise... PS: apparemment c' est une bêtise, je n' ai vu nul-part que l' on pouvait écrire dans un objet IMAGE. JL35 le fait dans un PICTURE caché. | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Titrage - génériques Mer 1 Fév 2017 - 14:45 | |
| C'est très simple (le problème étant de passer du Picture au Sprite): - On crée l'image dans un Picture (caché éventuellement) à fond noir absolu (couleur de transparence des sprites). - On recopie ce Picture dans un Image (qui en prend automatiquement les dimensions): 2D_IMAGE_COPY - On charge cet Image dans le sprite: SPRITE_IMAGE_LOAD
On pourrait aussi passer par un fichier au lieu d'un Imaqe: - sauvegarder le Picture dans un fichier bmp provisoire (FILE_SAVE) - charger ce bmp dans le Sprite (SPRITE_FILE_LOAD), puis effacer le fichier
Mais ça me paraît plus lourd, le passage par l'Image me semble plus élégant. | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Titrage - génériques Mer 1 Fév 2017 - 15:06 | |
| Oui et à mon avis, le scrolling obtenu sera et plus rapide et plus joli (moins 'saccadé' et sans effet de 'vagues' lors de la montée des lignes) | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Titrage - génériques Mer 1 Fév 2017 - 15:22 | |
| Si tu te réfères à ce que j'ai dit juste au-dessus ça ne changera pas grand chose, le sprite est fabriqué d'avance, et pour le scrolling il suffit de faire varier sa position en y. Avec 1 pixel de déplacement c'est très fluide, au-delà c'est plus rapide mais d'aspect saccadé, moins agréable. | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Titrage - génériques Mer 1 Fév 2017 - 15:50 | |
| Pour la fluidité peut être que Silverman nous trouvera une astuce. C'est le roi des petite exploitation technique qui change le rendu final | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Titrage - génériques Jeu 2 Fév 2017 - 11:56 | |
| Un essai de générique tout simple, pour tester les paramètres à modifier Rien à voir avec le générique élaboré de Marc, ici c'est juste pour essais sur la vitesse de défilement; et la sub de garnissage d'un sprite avec un texte peut être intéressante. ( Clic dans le Scene2d pour arrêter) - Code:
-
' Défilement d'un générique (exemple) LABEL Quit DIM rc$,tx$,i%,a$,ws%,hs% rc$ = CHR$(13)+CHR$(10)
SCENE2D 1: FULL_SPACE 1: COLOR 1,255,255,0: ON_CLICK 1,Quit SPRITE 1 tx$ = "Au clair"+rc$+"de la lune"+rc$+rc$+"mon ami Pierrot" Txt2Sprite(tx$,"Arial",16,0,8,1) a$ = CLIPBOARD_STRING_PASTE$: i% = INSTR(a$,",") ws% = VAL(LEFT$(a$,i%-1)): hs% = VAL(RIGHT_POS$(a$,i%+1)) SPRITE_POSITION 1,(WIDTH(1)-ws%)/2,HEIGHT(1) WHILE 2>1 FOR i% = HEIGHT(1) TO -1*hs% STEP -1 SPRITE_Y_POSITION 1,i% PAUSE 10: ' à moduler... NEXT i% END_WHILE END Quit: TERMINATE
SUB Txt2Sprite(txt$,fnt$,sz%,col%,enr%,Spr%) ' Charger un sprite Spr% (déjà existant) avec un texte txt$ ' (lignes du texte séparées par retour chariot/interligne) ' Police fnt$, taille sz%, couleur col%, ' enrichissements enr% (Gras=1, Italiques=2, Souligné=4, Centré=8) ' Dimensions du sprite renvoyées en ascii dans le clipboard (forme www,hhh) ' DIM_LOCAL n2d%,npt%,p%,mm%,im%,r%,g%,b%,wt%,ht%,h%,hl%,yt%,k%,rc$,a$ n2d% = NUMBER_2D_TARGET: npt% = NUMBER_PRINT_TARGET rc$ = CHR$(13)+CHR$(10): ' retour chariot/interligne p%=900: PICTURE p%: HIDE p%: COLOR p%,0,0,0 im%=p%+1: IMAGE im% mm%=im%+1: MEMO mm%: HIDE mm%: WIDTH mm%,1200: ITEM_ADD mm%,txt$ FONT_NAME p%,fnt$: FONT_SIZE p%,sz% IF BIN_AND(enr%,1) = 1 THEN FONT_BOLD p% IF BIN_AND(enr%,2) = 2 THEN FONT_ITALIC p% IF BIN_AND(enr%,4) = 4 THEN FONT_UNDERLINE p% FOR k% = 1 TO COUNT(mm%) a$ = ITEM_READ$(mm%,k%): r% = TEXT_WIDTH(a$,p%): IF r%>wt% THEN wt%=r% NEXT k%: h% = TEXT_HEIGHT(txt$,p%): ht% = h%*COUNT(mm%) WIDTH p%,wt%: HEIGHT p%,ht%: ' dimensions du sprite r% = INT(col%/65536): g% = BIN_AND(col%,65280)/256: b% = BIN_AND(col%,255) IF r% = 0 AND g% = 0 AND b% = 0 THEN r% = 5: g% = 5: b% = 5 FONT_COLOR p%,r%,g%,b%: 2D_TARGET_IS p%: COLOR p%,0,0,0: 2D_FILL_COLOR 0,0,0 PRINT_TARGET_IS p%: yt% = 0 FOR r% = 1 TO COUNT(mm%) a$ = ITEM_READ$(mm%,r%) IF BIN_AND(enr%,8) = 8: ' texte centré sur lui-même k% = TEXT_WIDTH(a$,p%) WHILE k%<wt%: a$ = " "+a$+" ": k% = TEXT_WIDTH(a$,p%): END_WHILE END_IF PRINT_LOCATE 0,yt%: PRINT a$: yt% = yt%+h% NEXT r% 2D_IMAGE_COPY im%,0,0,wt%,ht%: SPRITE_IMAGE_LOAD Spr%,im% 2D_TARGET_IS n2d%: PRINT_TARGET_IS npt%: DELETE p%: DELETE im%: DELETE mm% CLIPBOARD_STRING_COPY STR$(wt%)+","+STR$(ht%): ' dimensions du sprite -> clip END_SUB
| |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Jeu 2 Fév 2017 - 13:53 | |
| La vitesse parait bonne. | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Titrage - génériques Jeu 2 Fév 2017 - 14:32 | |
| En tout cas il y a des possibilités d'ajustement, avec la Pause, et éventuellement avec le step de la boucle, avec -2 ou -3 ça accélère bien sans saccader de manière trop visible.
J'ai pensé que la vitesse de défilement pouvait dépendre de la complexité de l'image de fond, mais apparemment ça ne joue pas, ça met le même temps que ce soit un fond uniforme ou une image. | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Titrage - génériques Jeu 2 Fév 2017 - 17:50 | |
| Merci JL35 comme tu as déjà fait 90% du boulot j'essayerais de l'adapter pour la partie texte défilant de Marc (En plus ça m'intéresse) Et d'ailleurs, j'ai envie d'essayer un truc qui me trotte dans la tête depuis un moment et si j'y arrive je le mettrai aussi | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Titrage - génériques Jeu 2 Fév 2017 - 20:32 | |
| Ma foi... bon courage Jicehel, mais c'est vrai que c'est intéressant à explorer. | |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Titrage - génériques Jeu 2 Fév 2017 - 21:14 | |
| Bonsoir à tous ! Je ne pensais pas qu’un tel sujet aller susciter tant d’engouement ! Merci pour vos retours, de vos essais et de vos partages ! La fluidité des mouvements est affectée par : - le nombre de SPRITEs à déplacer simultanément ; - la grandeur des SPRITEs ; - la vélocité de l’ordinateur utilisé. Voici ci-dessous un fond d’écran qui défile sans fin. Ce sont 3 SPRITEs qui se déplacent simultanément et qui occupent toute la surface de la fenêtre FORM 0. Si vous réduisez la taille du FORM 0 (ligne 1 et 2), le défilement sera plus rapide, voire beaucoup plus rapide. La position de la souris permet de changer le sens du scroll (vers le haut, vers le bas ou arrêt). - Code:
-
WIDTH 0, 800 HEIGHT 0, 500
LEFT 0,(SCREEN_X-800)/2 TOP 0,(SCREEN_Y-500)/2
LABEL Quitter
DIM x,y DIM a%,b%,c% DIM x_souris%, y_souris%
DIM h,w w = WIDTH_CLIENT(0) h = HEIGHT_CLIENT(0)
ON_CLOSE 0, Quitter
espace_sideral()
WHILE 0=0 x_souris%= MOUSE_X_POSITION(10) y_souris%= MOUSE_Y_POSITION(10)
IF y_souris%>(3/5*h) THEN y=y+1: ' vers le bas IF y_souris%<(2/5*h) THEN y=y-1: ' vers le haut
IF y>10 AND y<(h-10) THEN b%=0 : a%=-1*h : c%=h
IF y>(h+10) AND y<((2*h)-10) THEN b%=0 : a%=-1*h : c%=-1*2*h
IF y>((2*h)+10) AND y<((3*h)-10) THEN b%=-1*3*h : a%=-1*h : c%=-1*2*h
IF y=(3*h) THEN b%=0 : a%=-1*h : c%=h : y=0
IF y<(-10) AND y>((-1*h)+10) THEN b%=0 : a%=-1*h : c%=h
IF y<((-1*h)+10) AND y>((-1*2*h)+10) THEN b%=0 : a%=2*h : c%=h
IF y<((-1*2*h)+10) AND y>((-1*3*h)+10) THEN b%=3*h : a%=2*h : c%=h
IF y=(-1*3*h) THEN b%=0 : a%=-1*h : c%=h : y=0
deplace() END_WHILE END ' ------------------------------------------------------------------------------ SUB Espace_sideral() DIM_LOCAL i%, j% PICTURE 20 FULL_SPACE 20 FOR j%=1 to 3 COLOR 20,0,0,0 2D_TARGET_IS 20 2D_PEN_COLOR 255,255,255 FOR i%=1 TO 500 2D_POINT INT(RND(w)),INT(RND(h)) NEXT i% FOR i%=1 TO 50 2D_CIRCLE INT(RND(w)),INT(RND(h)),2 NEXT i% FOR i%=1 TO 5 2D_CIRCLE INT(RND(w)),INT(RND(h)),4 NEXT i% IMAGE j% 2D_IMAGE_COPY j%,0,0,w,h CLS NEXT j% SCENE2D 10 FULL_SPACE 10 SPRITE_CREATE_HIDE FOR i% = 1 to 3 SPRITE i% NEXT i% FOR i% = 1 to 3 SPRITE_IMAGE_LOAD i%,i% NEXT i% x=0 y=0 SPRITE_POSITION 1,x,y-h SPRITE_POSITION 2,x,y SPRITE_POSITION 3,x,y+h FOR i% = 1 to 3 SPRITE_SHOW i% NEXT i% a%=-1*h b%=0 c%=h END_SUB ' ------------------------------------------------------------------------------ SUB deplace() SPRITE_POSITION 1,x,y+a% SPRITE_POSITION 2,x,y+b% SPRITE_POSITION 3,x,y+c% DISPLAY END_SUB ' ------------------------------------------------------------------------------ Quitter: TERMINATE RETURN ' ------------------------------------------------------------------------------ Je suis en train de compléter mon programme pour pouvoir se déplacer, sans fin, dans tous les sens (360°). 9 SPRITEs sont nécessaires, ce qui risque de ralentir le mouvement. Je vous livrerai mes essais dès que possible.
Dernière édition par Marc37 le Jeu 2 Fév 2017 - 22:56, édité 1 fois | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Titrage - génériques Jeu 2 Fév 2017 - 22:07 | |
| Je n'avais pas envisagé le cas de sprites multiples à déplacer en même temps, évidemment dans ce cas ça complique la donne et ça doit bien ralentir... | |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Titrage - génériques Jeu 2 Fév 2017 - 23:12 | |
| JL35 : Je viens de regarder et d’essayer ton code, c’est une très bonne idée ! Je le garde sous le coude pour mes essais ! Merci !
| |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Titrage - génériques Ven 3 Fév 2017 - 0:30 | |
| Marc, l'effet est excellent et ça peut aussi bien servir pour une intro que pour un jeu spatial | |
| | | Contenu sponsorisé
| Sujet: Re: Titrage - génériques | |
| |
| | | | Titrage - génériques | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |