Forum Liberty Basic France
• Index
Cassiope, regarde un peu ce qu'on est obligé de faire, quand on arrive pas à dompter les sprites, et que le timer fait des caprices:
C'est là-->: InJapan.zip
J'ai réduit au maxi la taille et le nombre des images (bmp oblige...) et le prog' a été écrit par un type épuisé par l'extraction, la conversion, la réduction, la modification et le renommage de 200 images (le tout fait 250Mo); suivi d'un combat épique contre une armée de sprites en furie, et un timer issu tout droit du monde quantique.
Les boutons sont à utiliser en partant de la gauche.(codage porçin)
Les images sont tirées d'une anime en "swf" que tu peux trouver sur:"dagobah.net", et qui est vraiment géniale.
En bas à gauche: la signature de l'artiste (Japonais)
NOTA: N'ouvre pas le dossier "bmp" avant d'avoir fait tourner le prog... ça gache l'effet .
C'est là-->: InJapan.zip
J'ai réduit au maxi la taille et le nombre des images (bmp oblige...) et le prog' a été écrit par un type épuisé par l'extraction, la conversion, la réduction, la modification et le renommage de 200 images (le tout fait 250Mo); suivi d'un combat épique contre une armée de sprites en furie, et un timer issu tout droit du monde quantique.
Les boutons sont à utiliser en partant de la gauche.(codage porçin)
Les images sont tirées d'une anime en "swf" que tu peux trouver sur:"dagobah.net", et qui est vraiment géniale.
En bas à gauche: la signature de l'artiste (Japonais)
NOTA: N'ouvre pas le dossier "bmp" avant d'avoir fait tourner le prog... ça gache l'effet .
____________________
Roro
Roro
Si il te viens des idées, il reste des images en stock.
Et une petite question: J'ai essayé d'emboiter des graphicsbox les unes dans les autres; ça n'a pas l'air évident.
Est-ce que je ne serais pas encore en train de chercher des oeufs dans la poche d'un kangourou ?
Edité par Roland Le 24/04/2012 à 18h06
Et une petite question: J'ai essayé d'emboiter des graphicsbox les unes dans les autres; ça n'a pas l'air évident.
Est-ce que je ne serais pas encore en train de chercher des oeufs dans la poche d'un kangourou ?
Edité par Roland Le 24/04/2012 à 18h06
____________________
Roro
Roro
Roland:
Si si, comme d'habitude
Roland:
Je voudrais juste savoir comment as-tu extrait les bmp du fichier swf ?
Le soucis c'est qu'il n'y a aucun sprite dans le code que tu donnes.
Je ne comprend pas ce que les commandes de Background et Drawsprites viennent faire là !!?
Il ne s'agit là que d'afficher des images bmp à une certaine cadence...!
De plus, tel que c'est écrit, la vitesse d'affichage dépendra du PC sur lequel le code sera lancé, alors qu'il vaudrait mieux n'utiliser que des Timer normalement assez indépendant de la puissance du PC.
A mon humble avis, ce n'est vraiment pas un exemple de code à suivre pour faire ça !
@+
Et une petite question: J'ai essayé d'emboiter des graphicsbox les unes dans les autres; ça n'a pas l'air évident.
Est-ce que je ne serais pas encore en train de chercher des oeufs dans la poche d'un kangourou ?
Est-ce que je ne serais pas encore en train de chercher des oeufs dans la poche d'un kangourou ?
Si si, comme d'habitude

Roland:
Si il te viens des idées, il reste des images en stock.
Je voudrais juste savoir comment as-tu extrait les bmp du fichier swf ?
Le soucis c'est qu'il n'y a aucun sprite dans le code que tu donnes.
Je ne comprend pas ce que les commandes de Background et Drawsprites viennent faire là !!?
Il ne s'agit là que d'afficher des images bmp à une certaine cadence...!
De plus, tel que c'est écrit, la vitesse d'affichage dépendra du PC sur lequel le code sera lancé, alors qu'il vaudrait mieux n'utiliser que des Timer normalement assez indépendant de la puissance du PC.
A mon humble avis, ce n'est vraiment pas un exemple de code à suivre pour faire ça !
@+
____________________
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."
Web
Dans le code, il n'y a pas de sprite, mais j'en ai douze grand sacs poubelle dans mon entrée.
Les drawsprites, ils proviennent d'un bout de programme qui m'a servi d'amorce.
Tu n'a pas lu le sous titre du post ? Ce code a éte produit sur un coup de colère, et au copié/collé.
Pour récupérer les bmp du swf:
a)- A l'aide de: "freeScreenRecorder", j'ai capturé l'anime (avi), puis à l'aide d' "ImageGrab" j'ai capturé les images différentes (140). Avec: " PhotoScape", j'ai fais des "gifs" pour trier les images déterminantes. Avec: "11View", j'ai mis en "bmp", ce que j'aurais pu faire avec: "PicSizer", qui m'a servi à redimentionner.
Et je ne devrais pas te le dire, mais mon but réel, était de titiller ton perfectionnisme, pour voir ce que tu ferais de ce code. Mais tu me semble pris par d'autres occupations. Vivement que tu arrete de bosser, pour enfin employer ton intelligence à de vraies conneries..
..Salut du soir...
Les drawsprites, ils proviennent d'un bout de programme qui m'a servi d'amorce.
Tu n'a pas lu le sous titre du post ? Ce code a éte produit sur un coup de colère, et au copié/collé.
Pour récupérer les bmp du swf:
a)- A l'aide de: "freeScreenRecorder", j'ai capturé l'anime (avi), puis à l'aide d' "ImageGrab" j'ai capturé les images différentes (140). Avec: " PhotoScape", j'ai fais des "gifs" pour trier les images déterminantes. Avec: "11View", j'ai mis en "bmp", ce que j'aurais pu faire avec: "PicSizer", qui m'a servi à redimentionner.
Et je ne devrais pas te le dire, mais mon but réel, était de titiller ton perfectionnisme, pour voir ce que tu ferais de ce code. Mais tu me semble pris par d'autres occupations. Vivement que tu arrete de bosser, pour enfin employer ton intelligence à de vraies conneries..

____________________
Roro
Roro
Outch !
Je n'avais surtout pas compris que c'était toi qui avait écrit ce code !
Scuses.
Je n'avais surtout pas compris que c'était toi qui avait écrit ce code !


Scuses.
____________________
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."
Web
C'est vraiment dommage qu'on soit limité par le volume, parce que cette anime m'inspire à bloc, mais pour faire quelque chose de bien, il faut compter un mini de vingt Mo. A moins bien sur de trouver une combine pour limiter le poids des images.
J'avais pensé à faire un ou deux backgrouwnd fixes, et à l'intérieur un petit cadre contenant l'image variable,
sur le meme fond. D'où mes essais de graphicsbox.
J'avais pensé à faire un ou deux backgrouwnd fixes, et à l'intérieur un petit cadre contenant l'image variable,
sur le meme fond. D'où mes essais de graphicsbox.
____________________
Roro
Roro
Tu peux essayer ça si tu veux.
Sachant que tu peux facilement y ajouter autant d'images que tu veux par séquence, mais aussi d'autres séquences (un peu plus de code à prévoir)
Code VB :
Bon il reste un petit bug que je ne parviens pas à résoudre pour l'instant, mais j'ai fait ça à l'arrache comme d'hab !
@+
Edité par cassiope01 Le 25/04/2012 à 11h31
Sachant que tu peux facilement y ajouter autant d'images que tu veux par séquence, mais aussi d'autres séquences (un peu plus de code à prévoir)
Code VB :
nomainwin WindowWidth = 300 WindowHeight = 240 UpperLeftX = (DisplayWidth-WindowWidth) / 3 UpperLeftY = (DisplayHeight-WindowHeight) / 2 mois$ = "Jan Fév Mar Avr Mai Jun Jui Aou Sep Oct Nov Déc" today$ = date$("mm/dd/yyyy") j = date$(today$) jsem$ = word$("Mar Mer Jeu x Ven Sam x Dim Lun",int((j/7-int(j/7))*10)+1) date$ = jsem$+" "+mid$(today$,4,2)+" "+word$(mois$, val(today$))+" "+left$(time$(),5)'right$(today$,4) GLOBAL ajust$, tir$, sequence DIM info$(10,10),sequence$(5) ajust$ = "0uc 0ub 0ua 0 1da 2db 2dc 2dd" tir$ = "3 4 5" sequence$(1) = "35a 35b 35c" sequence$(2) = "37 38 39 40 43 44 45 46 47 48 " ' sequence$(3) = "50 51 52 53 54 55 56 57 58 59 60 61 " ' groupes d'images qui constituent les animations sequence$(4) = "65 66 67 68 69 70 71 72 73 74 75 76 " ' sequence$(5) = "81 82 83 84 85 86 87 88 89 90 91 92 " ' 'charge en mémoire les images d'ajustement du tir for i = 1 to 8 :loadbmp "img"+word$(ajust$,i), "bmp\"+word$(ajust$,i)+".bmp" :next 'charge en mémoire les images du tir for i = 1 to 3 :loadbmp "img"+word$(tir$,i), "bmp\"+word$(tir$,i)+".bmp" :next 'charge en mémoire les images d'attente for i = 1 to 3 :loadbmp "img"+word$(sequence$(1),i), "bmp\"+word$(sequence$(1),i)+".bmp" :next 'charge en mémoire les images d'évitement for s = 2 to 5 nbi = int(len(sequence$(s))/3) for i = 1 to nbi :loadbmp "img"+word$(sequence$(s),i), "bmp\"+word$(sequence$(s),i)+".bmp" :next next graphicbox #w.g, 10, 10, 241, 137 ' button #w.b, "Start",[start],UL, 10, 160 ' button #w.b, "Arm",[arm],UL, 60, 160 button #w.b, "Tir",Tir,UL, 100, 160 button #w.b1, "+3",ajusteTir,UL, 260, 10 button #w.b2, "+2",ajusteTir,UL, 260, 36 button #w.b3, "+1",ajusteTir,UL, 260, 62 button #w.b4, "00",ajusteTir,UL, 260, 88 button #w.b5, "-1",ajusteTir,UL, 260, 114 button #w.b6, "-2",ajusteTir,UL, 260, 140 button #w.b7, "-3",ajusteTir,UL, 260, 166 open "In Japan..."+space$(10)+date$ for window_nf as #w #w "trapclose quit" #w.g "down" call attente WAIT sub attente sequence = 1 DO call anime sequence call pause 250 LOOP UNTIL sequence <> 1 'sequence est modifié dès qu'on presse un bouton... end sub sub Tir handle$ if sequence = 1 then sequence = 4 'si aucun bouton d'ajustement n'a été pressé... for i = 1 to 4 #w.g "drawbmp img";word$("0 3 4 5",i);" 0 0" 'séquence de tir. call pause 200 next call anime sequence 'lancement de la sequence d'évitement call pause 1000 call attente 'retour à la sequence d'attente end sub sub ajusteTir handle$ ' réglage de la mire ;) 'affiche une image et sélectionne une séquence en fonction du bouton pressé. image = val(right$(handle$,1)) #w.g "drawbmp img";word$(ajust$,image);" 0 0" select case image case 1,2 sequence = 2 case 3 sequence = 3 case 4,5 sequence = 4 case 6,7 sequence = 5 end select end sub sub anime seq ' routine générique d'animation nbi = int(len(sequence$(seq))/3) for i = 1 to nbi #w.g "drawbmp img";word$(sequence$(seq),i);" 0 0" call pause 100 next end sub sub pause temp 'pause en millisecondes timer temp, [temps] wait [temps] timer 0 end sub sub quit handle$ for i = 1 to 8 :unloadbmp "img"+word$(ajust$,i) :next 'décharge les images du tir for i = 1 to 3 :unloadbmp "img"+word$(tir$,i) :next 'décharge les images d'attente for i = 1 to 3 :unloadbmp "img"+word$(sequence$(1),i) :next 'décharge les images d'évitement for s = 2 to 5 nbi = int(len(sequence$(s))/3) for i = 1 to nbi :unloadbmp "img"+word$(sequence$(s),i) :next next close #handle$ END end sub
Bon il reste un petit bug que je ne parviens pas à résoudre pour l'instant, mais j'ai fait ça à l'arrache comme d'hab !
@+
Edité par cassiope01 Le 25/04/2012 à 11h31
____________________
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."
Web
Punaise ! ça déménage !
Dis donc, les sub's, tu les a au prix de "gros".
Moi qui les crains comme la peste, ce coup-çi, soit je guérri, soit je crève.
Ce qui me trouble (en première lecture), c'est que dans: "sub anime seq", 'anime seq' a l'air de n'etre qu'un nom, pendant que dans: "sub anime sequence", 'anime' est un nom et: 'sequence', est un paramètre.
Dans: "sub pause temp", 'temp', est un paramètre, et: 'pause' a l'air d'etre le nom du paramètre.
Dans "jeuRoland" call cascade bx, by on prend deux variables présentes localement que l'on place dans le (sac que tient 'cascade'). A l'arrivée: (sub cascade) on prend ce qui est dans le sac, et on peut en changer le nom.
En résumé: "call" et "sub" sont composées de deux choses: un nom et un sac ( dans lequel on peut mettre soit des variables présentes localement, (ou non?) soit une valeur 'autoritaire'( call pause 1000).
Si tu arrive à remettre tout cela dans l'ordre, donne moi ton avis sur ma compréhension de la chose.
Tu n'a pas dis comment le "bug" se manifeste.
Dis donc, les sub's, tu les a au prix de "gros".

Moi qui les crains comme la peste, ce coup-çi, soit je guérri, soit je crève.
Ce qui me trouble (en première lecture), c'est que dans: "sub anime seq", 'anime seq' a l'air de n'etre qu'un nom, pendant que dans: "sub anime sequence", 'anime' est un nom et: 'sequence', est un paramètre.
Dans: "sub pause temp", 'temp', est un paramètre, et: 'pause' a l'air d'etre le nom du paramètre.
Dans "jeuRoland" call cascade bx, by on prend deux variables présentes localement que l'on place dans le (sac que tient 'cascade'). A l'arrivée: (sub cascade) on prend ce qui est dans le sac, et on peut en changer le nom.
En résumé: "call" et "sub" sont composées de deux choses: un nom et un sac ( dans lequel on peut mettre soit des variables présentes localement, (ou non?) soit une valeur 'autoritaire'( call pause 1000).
Si tu arrive à remettre tout cela dans l'ordre, donne moi ton avis sur ma compréhension de la chose.
Tu n'a pas dis comment le "bug" se manifeste.

____________________
Roro
Roro
Salut !
Roland:
La syntaxe d'une procédure, c'est :
sub nom_de_la_procedure parametre_1, parametre_2, ..., parametre_n
Ensuite, si tu veux utiliser ta procédure dans le programme, il faut l'appeler comme ceci :
call nom_de_la_procedure parametre_1, parametre_2, ..., parametre_n
Dans la création, les paramètres sont toujours des variables locales
Dans l'appel, les paramètres sont soit des variables, soit des valeurs directement.
Petit tuto sur les fonctions et procédures : http://libertybasic.fr/pages/partie-i-6-les-fonctions-et-les-sub
++
Black Templar
Roland:
Dans: "sub pause temp", 'temp', est un paramètre, et: 'pause' a l'air d'etre le nom du paramètre.
La syntaxe d'une procédure, c'est :
sub nom_de_la_procedure parametre_1, parametre_2, ..., parametre_n
Ensuite, si tu veux utiliser ta procédure dans le programme, il faut l'appeler comme ceci :
call nom_de_la_procedure parametre_1, parametre_2, ..., parametre_n
Dans la création, les paramètres sont toujours des variables locales
Dans l'appel, les paramètres sont soit des variables, soit des valeurs directement.
Petit tuto sur les fonctions et procédures : http://libertybasic.fr/pages/partie-i-6-les-fonctions-et-les-sub
++
Black Templar
Donc, j'ai bon.
Le tuto, je l'ai sur mon disque, mais je reconnais que je n'ai lu qu'une seule fois, voila ou est l'erreur.
Le tuto, je l'ai sur mon disque, mais je reconnais que je n'ai lu qu'une seule fois, voila ou est l'erreur.

____________________
Roro
Roro
Merci Black
Décidément Roland perçoit JB toujours bien plus compliqué que ça ne l'est en réalité
Roland:
Si tu ne l'as pas vu, c'est qu'il n'est peut-être pas bien grave
Edité par cassiope01 Le 25/04/2012 à 15h18

Décidément Roland perçoit JB toujours bien plus compliqué que ça ne l'est en réalité

Roland:
Tu n'a pas dis comment le "bug" se manifeste. 

Si tu ne l'as pas vu, c'est qu'il n'est peut-être pas bien grave


Edité par cassiope01 Le 25/04/2012 à 15h18
____________________
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."
Web
Quand on les a comprises, les choses sont simples; avant, beaucoup moins, et quand j'ai lu le tuto pour la première fois, j'étais loin de m'inquiéter des sub's.
Le bug, je ne l'ai pas vu parce que je n'ai pas trop fait tourner le prog. Je suis trop occupé avec le code.
A ce propos, ton "arrache" est drolement efficace, c'est la grande classe ce code.
Je me suis inscrit chez les anglais (américains?) Juste pour avoir deux putains de licences. Le bazard a pas l'air d'etre au point.
Aprés m'avoir annoncé deux fois "error occured", j'ai reçu deux mails me confirmant deux inscriptions, avec un password différent de celui que j'ai donné ?!?
Par le "Reply" de leur mail, j'ai envoyé mes désirs en "frangloiin" Mais je ne crois pas que le "reply" de la Gbox fonctionne, je l'ai utilisé plusieurs fois, je n'ai jamais eu de réponse.
Toi qui est branché avec eux, tu pourrait peut etre me relayer. La question est:
-Quel nom mettre pour le bénéficiaire du mandat international ? ......a+.....
Le bug, je ne l'ai pas vu parce que je n'ai pas trop fait tourner le prog. Je suis trop occupé avec le code.
A ce propos, ton "arrache" est drolement efficace, c'est la grande classe ce code.

Je me suis inscrit chez les anglais (américains?) Juste pour avoir deux putains de licences. Le bazard a pas l'air d'etre au point.
Aprés m'avoir annoncé deux fois "error occured", j'ai reçu deux mails me confirmant deux inscriptions, avec un password différent de celui que j'ai donné ?!?
Par le "Reply" de leur mail, j'ai envoyé mes désirs en "frangloiin" Mais je ne crois pas que le "reply" de la Gbox fonctionne, je l'ai utilisé plusieurs fois, je n'ai jamais eu de réponse.
Toi qui est branché avec eux, tu pourrait peut etre me relayer. La question est:
-Quel nom mettre pour le bénéficiaire du mandat international ? ......a+.....
____________________
Roro
Roro
Comme je ne l'ai pas encore fait, je te remercie pour cette belle horlogerie.
Je ne suis pas encore tout à fait capable de l'exploiter dans son ensemble, mais plusieurs engrenages ont rejoints ma reserve, et les sub's sortent du brouillard plus prometteuses que jamais....à suivre....Good long.

Je ne suis pas encore tout à fait capable de l'exploiter dans son ensemble, mais plusieurs engrenages ont rejoints ma reserve, et les sub's sortent du brouillard plus prometteuses que jamais....à suivre....Good long.
____________________
Roro
Roro
• Index
1 Utilisateur en ligne : 0 Administrateur, 0 Modérateur, 0 Membre et 1 Visiteur
Utilisateur en ligne : Aucun membre connecté
Utilisateur en ligne : Aucun membre connecté
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie