Bienvenue visiteur !
|
Statistiques
Liste des membres
Contact
Mentions légales
860 connectés actuellement
30729510 visiteurs depuis l'ouverture
3127 visiteurs aujourd'hui
Partenaires
Tous nos partenaires
Devenir partenaire
|
Messages postés par BilouMaster Joke Nombre de messages référencés sur Oniromancie (non supprimés): 2535 Aller à la page: 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
Posté dans Forum - [Outil] Launcher Creator (Ex RM Launcher) |
Joke -
posté le 25/01/2014 à 13:15:38. (5090 messages postés) |
| Falco a dit:
Joke : lorque l'utilisateur créé le launcher avec mon logiciel, ca ajoute directement tous les dossiers, ressources et fichier dans un seul endroit, organisé, avec l'icône du jeu via le launcher. Donc il est strictement impossible de se tromper où faire une fausse manip si ce n'est en tri fouillant les dossiers du jeu... mais faudrait le vouloir quoi.
Et avec un créateur d'installateur il est possible de choisir le launcher comme exe a afficher sur le bureau comme je l'ai fais pour Inexistence, sans problèmes !
Je vous fais une vidéo demain ca sera beaucoup plus claire !
Et oui il y aura un tuto inclus dans le logiciel, impossible de se tromper
|
Quand je disais "l'utilisateur" je voulais dire le joueur, désolé. ^^ Je conçois bien que le créateur du jeu n'ira pas se tromper bêtement, même s'il y en a de très bêtes. En revanche on ne prévois jamais assez à quel point le joueur peut être bête !
|
biloumaster.fr, mon joli site ouèb tout bô tout frai ! |
Posté dans Forum - [RPG MAKER VX] Passer d'un événement à un autre |
Joke -
posté le 25/01/2014 à 00:07:02. (5090 messages postés) |
| mikem a dit: Hahahaha... Fondu ^^
Pour ton problème, des interrupteurs suffisent, du genre dans la chambre un événement en mode automatique ne se déclenche que si "tel interrupteur" est activé... cet interrupteur étant activé à la fin de ton précédent mode automatique. Même, si c'est la première fois dans le jeu que tu arrive dans la chambre, tu n'as pas besoin d'interrupteur. L'événement automatique sans condition d'enclenchement prendra le relais dans la nouvelle map et l'ancien événement automatique de la map précédente s'arrêtera après la téléportation.
Idem pour la fille, soit tu la fais apparaître comme tu as fait apparaître les orcs, soit tu donne une seconde page à l'événement avec l'apparence de la fille et l'interrupteur en condition d'enclenchement.
Mais au lieu d'utiliser des interrupteurs, comme ce tutoriel concerne exactement ta situation de novice qui veut faire dérouler des choses et scènes, je te conseille de le lire attentivement et de venir poser des questions sur la méthode si tu ne comprends pas certaines choses.
|
biloumaster.fr, mon joli site ouèb tout bô tout frai ! |
Posté dans Forum - [Photoshop] Besoin de conseil sur le mapping "mise en ligne des premier test personnage |
Joke -
posté le 24/01/2014 à 11:13:32. (5090 messages postés) |
| spyrojojo a dit: Quel format utilisé (PNG pour la partie image et JPEG pour le parallaxe ?
|
Je ne pense pas que RPG Maker gère le JPEG, et dieu merci... Oublie le JPEG dans ta vie, dis toi que ce n'est pas un format d'image mais une destruction de l'image et ça ira mieux, tu prendras le PNG comme un grand pour enregistrer toute les images que tu feras à l'avenir, screenshots inclu.
Avec photoshop, "exporter pour le web", tu as le choix entre PNG24 et PNG8. PNG24 est le meilleur choix pour ne rien perdre de la qualité de l'image, et avoir des dégradés de transparence (tu gardera les contours lisse s'ils sont découpés de manière lisse, des dégradés lisses s'il y en a).
Mais si tu n'as pas de grands dégradés, si tu n'as pas plusieurs niveaux de transparence, si tu n'as pas beaucoup de couleur, le PNG8 sera plus léger. Il limitera ton image à 256 couleurs dont une seule couleur transparente.
Pour le reste, lance toi et poste ce que tu fais, même en tant que débutant il faut bien... débuter pour voir ensuite. : p
|
biloumaster.fr, mon joli site ouèb tout bô tout frai ! |
Posté dans Tutoriels - Détecteur à la Alien |
Joke -
posté le 23/01/2014 à 17:37:04. (5090 messages postés) |
| Je n'ai fait que survoler, mais avec mon super coup d’œil expert je peux dire que l'idée est géniale et que la programmation semble simple et efficace.
Vite fait, je dirais que tu peux rendre le code un tout petit poil plus simple en regroupant des conditions :
Au lieu de faire :
Tu pouvais proposer une imbrication plus intéressante des conditions entre elles (pour éviter les doublons et les superflus)
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
31
| Si YH > YC
Si XH > XC
Animation : Nord-Ouest
Sinon
Si XH < XC
Animation : Nord-Est
Sinon
Animation : Nord
Fin
Fin
Sinon
Si YH < YC
Si XH > XC
Animation : Sud-Ouest
Sinon
Si XH < XC
Animation : Sud-Est
Sinon
Animation : Sud
Fin
Fin
Sinon
Si XH > XC
Animation : Ouest
Sinon
Si XH < XC
Animation : Est
Fin
Fin
Fin
Fin |
Le problème c'est que c'est plus chiant à expliquer.
Pour optimiser ainsi j'ai fait deux simplifications, qui peuvent se schématiser comme ça :
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
| Dans ton code, on reconnaissait cette forme :
Si [Condition A]
Si [Condition B]
...
Fin
Fin
Si [Condition A]
Si [Condition C]
...
Fin
Fin
Mais de quatre conditions on peut passer à trois :
Si [Condition A]
Si [Condition B]
...
Fin
Si [Condition C]
...
Fin
Fin |
Et
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
| Dans ton code, on reconnaissait cette forme :
Si A > B
...
Fin
Si A < B
...
Fin
Si A = B
...
Fin
Mais de trois conditions on peut passer à deux :
Si A > B
...
Sinon
Si A < B
...
Sinon
...
Fin
Fin |
En combinant les deux optimisations... j'ai réduit tes 16 conditions à 8 conditions, c'est toujours ça de gagné ! ^^
|
biloumaster.fr, mon joli site ouèb tout bô tout frai ! |
Posté dans Forum - [RM VXACE] Faire marcher plusieurs événements à l'aide d'un seul. |
Joke -
posté le 23/01/2014 à 17:02:51. (5090 messages postés) |
| mikem a dit: Juste une question à propos de se qu'a dit Anton, je fait comment pour rendre les "ORCS" invisibles au début, je met la premier page (des évents ORCS) sans avatar et je crée ensuite une deuxième page sur les même évents (ORCS) mais cette fois je met l'avatar (charset) Orcs c'est ça ?
|
spyrojojo a dit:
Non c'est pas ça.
Anton_ a dit: Pas besoin d'interrupteurs.
(...)
Ensuite, l'event qui va afficher les messages et lancer les combats va faire déplacer lui même les trois orques. il faut en premier temps les rendre visible
|
Dans ton événement qui fera bouger les trois orcs, dans la même commande "déplacer événement" tu as "Changer l'apparence". C'est ce qu'il voulait dire par "il faut en premier temps les rendre visible", c'est utiliser cette commande de "déplacement".
Les orcs, eux, ne sont rien de plus que des événements sans apparence. C'est en changeant leur apparence dans ce "déplacer événement" que les orcs vont apparaître par magie et se déplacer.
|
biloumaster.fr, mon joli site ouèb tout bô tout frai ! |
Posté dans Forum - Bazar des créations ! |
Joke -
posté le 23/01/2014 à 14:53:39. (5090 messages postés) |
| Créa, une bonne anim en PA c'est une anim qui semble fluide malgré le moins de sprite possible.
L'animation est très bonne, mais tu ne pars pas dans l'esprit "optimisation" de charge graphique (aussi bien en quantité/poids, surcharge visuelle et temps de travail), et tu gagnerais bien plus en dynamisme si tu faisais ça en moins de frame. C'est tout une technique de bien découper une animation. ^^
Une animation qui a beaucoup de frames, c'est une animation plus lente, ou même rapide mais semblant quand-même plus lente, et ça c'est chaud Ingame.
Mais ton animation est très réussie, la course et le lancé c'est top, je te dirais d'accorder du crédit à ce que je viens de dire surtout pour l'animation entre le lancé et la course.
|
biloumaster.fr, mon joli site ouèb tout bô tout frai ! |
Posté dans Forum - Inexistence |
Joke -
posté le 23/01/2014 à 14:19:00. (5090 messages postés) |
| Je ne sais pas si on te l'a déjà dis, mais comme j'ai vu hier le let's play d'Inexistence je dois te dire que le premier vrai boss, le serpent qui oscille... Tu devrais rapidement arriver à une bien meilleure oscillation !
Là les différentes "boules" du serpent n'ont qu'un simple pattern "haut>bas>haut>bas" linéaire. Si tu fais le même pattern avec une fonction "cosinus" ou "sinus" du genre :
"Y = Y-position-boule-en-haut + distance-verticale-du-parcours-haut-bas/2*(1+COS(2*PI*(temps en frame*vitesse + décalage)/100))"
avec "décalage", une valeur entre 0 et 100 (Première boule = 0, deuxième = 10, deuxième = 20 par exemple) et "vitesse", une autre valeur inférieure à 100 et supérieure à 0, la rapidité du mouvement... ton serpent va vraiment osciller de manière fluide et ce sera plus classe.
Sans même utiliser une fonction, tu as peut-être déjà une option pour que l'interpolation du parcours que tu as défini ne soit pas linéaire mais cosinus ?
En tout cas je tiens à felliciter je-ne-sais-plus-qui qui a refait les animations du héros, maintenant le jeu a le cachet qu'il mérite. Ça rend très bien graphiquement, l'idée des pièces qui s'écrasent par terre comme si elles étaient molles c'est sympa, le système d'expérience est sympa. Les pièces de puzzle font penser à Banjo et Kazooie, et le passage sous l'eau manque de caca et WC à déboucher.
Pour le système d'expérience, je ne sais pas si tu as déjà prévu ça, c'est très cliché mais pour la magie en général on fait exprès qu'elle soit faiblarde et chiante à monter au début, mais si on fait le choix de se concentrer dessus on est récompensé de nos labeurs plus tard en ayant une magie plus avantageuse que le corps-à-corps.
Il y a aussi la possibilité d'instaurer des compteurs de coups/sorts pour faire évoluer autrement le personnage et ses compétences, du genre, si on utilise "X" fois le sort, on le fait évoluer avec un pattern et un facteur de puissance différent.
Bisous.
|
biloumaster.fr, mon joli site ouèb tout bô tout frai ! |
Posté dans Tutoriels - Conseils pour éviter les lags |
Joke -
posté le 22/01/2014 à 19:48:51. (5090 messages postés) |
| Pour information, 0.0sec sous RM2003 correspond à 1 frame sur les versions plus récentes (et dans RM2003 aussi en fait, ça fait 0.0 sec = 1 frame = un soixantième de seconde puisque c'est du 60 FPS).
Si 1 seconde fait 60 frame, 0.1 seconde fait 6 frames, mais on s'en fout.
On peut aussi dire que si on aligne six "attendre 0.0 sec" sous RM2003, ça équivaut à un "attendre 0.1 sec".
Ça aussi on s'en fout, si ce n'est qu'il faut retenir que si on veut faire un temps plus court que 0.1 sec on peut très bien aligner plusieurs "attendre 0.0 sec".
Le nombre de "attendre 0.0 sec" qu'on aligne donc c'est le nombre de frame attendue, si on veut attendre 4 frames, on aligne 4 "attendre 0.0 sec".
Si on veut attendre 6 frames... on utilise "attendre 0.1 sec".
Si on veut attendre 8 frames... On aligne un "attendre 0.1 sec" avec deux "attendre 0.0sec".
Et voilà, on peut avoir un "attendre" dans RM2003 aussi précis que dans les versions plus récentes.
|
biloumaster.fr, mon joli site ouèb tout bô tout frai ! |
Posté dans Forum - [RPG Maker 2003] Problème avec les images |
Joke -
posté le 22/01/2014 à 19:40:47. (5090 messages postés) |
| RPG Fusion a dit:
Si vous avez des propositions pour améliorer le jeu, je suis grandement preueneur.
|
Si tu veux optimiser encore l'affichage des nombres à l'écran (en terme de performance) tu peux nous dire comment tu utilise le système d'affichage que j'ai donné (quand est-ce que tu affiche, comment tu lance le code, si c'est affiché tout le temps dans le jeu... screenshot de tes événements)
Parce que j'ai dis ça plus haut :
Joke a dit:
Attention : Pour ne pas faire lagger le jeu, il faudrait faire en sorte que les images ne s'affichent qu'une seule fois à chaque changement d'écran dans le jeu ! Avec cette technique, un déplacement d'image durant 0 secondes suffit à faire varier l'affichage, c'est beaucoup plus rapide pour RM !
Inutile d'afficher à nouveau les images quand le nombre change, ou pire encore... ne pas les afficher toute les 0sec/0.1sec !!
Une fois que les images sont affichées UNE FOIS, on peut utiliser le même code avec des DÉPLACER IMAGE au lieu des AFFICHER IMAGE !
C'est beaucoup beaucoup plus optimisé !
C'est pourquoi dans mon exemple qui suit, j'affiche des images à une transparence de 100%, pour le cas des 0 inutiles à masquer, j'affiche quand-même l'image, en invisible, pour la déplacer plus tard pour la faire apparaître lorsque le nombre change.
L'exemple qui suit est fait avec des "afficher image", remplacez "afficher" par "déplacer" et ça fonctionne, en plus rapide !
|
Et j'avoue que c'est pas clair du tout, la mise en place de ce genre d'optimisation dépend de l'utilisation qu'on fait de l'affichage du nombre, comment on l'appelle, quand est-ce qu'il est affiché... Les méthodes sont multiples et je peux conseiller encore si tu as réussi à suivre jusque là. ^^
Il faut savoir que tout ce qui est "affichage d'image" ça sera ce qui ralentira le plus ton jeu, si tu as un bon ordi tu ne t'en rends pas forcément compte mais tout le monde n'a pas une bonne machine.
Réfère toi à cet article pour mieux comprendre certaines sources de lag et comment les éviter
;)
|
biloumaster.fr, mon joli site ouèb tout bô tout frai ! |
Posté dans Forum - [RPG Maker 2003] Problème avec les images |
Joke -
posté le 22/01/2014 à 09:50:51. (5090 messages postés) |
| Pour le lien du tuto, c'est simple... je ne l'ai jamais écrit encore ! x) Mais je devrais m'y mettre. Je me suis auto-quoté depuis une explication que j'avais effectivement déjà faite sur un autre topic d'aide.
Pour l'image, tu as utilisé celle de Anton_ ?
Pour la mienne, exceptionnellement, il faut additionner 1085 à Y au lieu de 1200, dans l'événement commun "Calcul XY", parce que j'ai fais le radin en supprimant le bas inutile de l'image et du coup mon image fait 2170 pixel de hauteur au lieu de 2400.
Avec mon image ça devrait être bon pour la transparence, sauf que j'imagine que le style des caractères ne te convient pas.
Le mieux c'est de faire l'image toi-même, comme ça le style des chiffres c'est le tien. Tu as déjà deux exemples pour t'inspirer.
Si t'as toujours des problèmes avec la transparence, poste ton image ici pour qu'on indexe mieux les couleurs.
Il me semble que RPG Maker prend par défaut la première couleur de l'index des couleurs pour couleur transparente. Mais il faudrait savoir...
|
biloumaster.fr, mon joli site ouèb tout bô tout frai ! |
Posté dans Forum - [RPG Maker 2003] Problème avec les images |
Joke -
posté le 21/01/2014 à 21:45:43. (5090 messages postés) |
|
1
2
3
4
5
6
| # événement commun "Calcul XY" en mode appel
<> modifier variable "X" = "Xchiffre"
<> modifier variable "Y" = "Chiffre"
<> modifier variable "Y" multiplier par "-240"
<> modifier variable "Y" additionner "1200"
<> modifier variable "Y" additionner "Ychiffre" |
Tu fais cet événement commun en mode appel pour ne plus avoir à te retaper encore et encore ces vilaines lignes, tu n'auras plus qu'à appeler cet événement, ça te mettra dans les variables X et Y la position de l'image que tu affichera pour afficher un chiffre.
Cette position est calculée en fonction des variables :
- Chiffre, le chiffre à afficher
- Xchiffre, la position X du chiffre à afficher
- Ychiffre, la position Y du chiffre à afficher
En gros, tu dois modifier ces trois variables "Chiffre" "Xchiffre" "Ychiffre" avant d'appeler ton événement commun qui se chargera de calculer les variables "X" et "Y" que tu vas utiliser pour afficher ton image.
Grâce à cet événement commun, tu sais donc afficher n'importe quel chiffre de 0 à 9, comme ça par exemple :
1
2
3
4
5
| <> modifier variable "Chiffre" = "5"
<> modifier variable "Xchiffre" = "20"
<> modifier variable "Ychiffre" = "50"
<> appeler événement commun : "Calcul XY"
<> afficher image "Image0-9" aux coordonnées "X, Y" |
Juste avec ce code, le chiffre 5 sera affiché à l'écran aux coordonnées X=20, Y=50. Sisi, c'est vrai.
Quand je dis "aux coordonnées "X, Y"" je veux dire "aux coordonnées définies par les variables "X" et "Y", calculées par l'événement commun.
Revenons à cet événement commun "CalculXY".
Pourquoi ce calcul ?
Car c'est l'astuce de mettre tous les chiffres dans une seule image, comme ça au lieu d'afficher une image différente par chiffre, tu n'affiche qu'une seule image pour ton chiffre variant de 0 à 9, et on ne voit à l'écran que le chiffre que tu as mis dans la variable "Chiffre", à la position "Xchiffre" et "Ychiffre". Tous les autres chiffres que tu as mis sur ton image se trouveront en dehors de l'écran, et ne seront donc pas visibles.
Pour faire varier le chiffre affiché de 0 à 9, il suffit de calculer sa position Y, de sorte à ce que tous les autres chiffres inclus dans l'image soient en dehors de l'écran. Ce calcul, c'est cet événement commun tout simple que je viens de donner ci-dessus. Je l'ai expliqué :
Citation: il suffit de créer une image qui intègre déjà tous les chiffres de 0 à 9 chacun décalés verticalement les uns par rapport aux autres de 240 pixels. Comme ça il n'y a que la position Y à calculer et il y a toujours un seul chiffre de l'image qui apparait à l'écran comme tous les autres chiffres de la même image sont en dehors de l'écran (d'où le décalage de 240 pixels, qui est la hauteur de l'écran)
Pour 10 chiffres (0 à 9) l'image fait 10*240=2400 px de haut. Comme l'image est affichée par son centre, il faut additionner la moitié (1200) pour afficher l'image depuis le premier pixel en haut. Si le chiffre tout en haut est 0, et qu'on affiche l'image à la position "x=30, y=100+1200" ça fait qu'à l'écran ça affichera le 0 aux coordonnées "30, 100"
Ce qui fait que pour afficher le contenu de la variable "Chiffre" (contenant un chiffre entre 0 et 9), il y a un calcul simple pour trouver X et Y de l'image :
X = la valeur que tu veux, position X du chiffre à partir du centre
Y = Chiffre*(-240) + 1200 + la valeur que tu veux, position Y du chiffre à partir du haut |
Le bête calcul "Y = Chiffre*(-240) + 1200 + la valeur que tu veux" s'explique très facilement :
J'ai déjà expliqué qu'on affichait zéro à la position qu'on veut avec "Y = 1200 + la valeur que tu veux", car 1200 c'est la moitié de la hauteur de l'image, donc en additionnant 1200 on va baisser l'image de la moitié de sa hauteur, comme si on n'affichait plus l'image à partir de son centre, mais à partir du haut de l'image. Comme le 0 est justement en haut de l'image, c'est ce qu'on veut.
Mettons que tu ne veux pas 0, mais 1.
Tu vas monter l'image de 240 pixels vers le haut, car le 1 est 240 pixels plus bas que le 0.
Tu fais donc "Y = 1200 - 240 + la valeur que tu veux" pour afficher ton "1" à la hauteur que tu veux.
Mettons que tu ne veux plus 1, mais 2, tu vas encore déplacer l'image de 240 pixels plus haut.
Tu fais donc "Y = 1200 - 240 - 240 + la valeur que tu veux".
Maintenant, tu vois que :
- Pour "1" tu déplace une fois de 240 pixels vers le haut
- Pour "2" tu déplace deux fois de 240 pixels vers le haut
- Pour "3" tu déplace trois fois de 240 pixels vers le haut
- Pour "0" tu déplace zéro fois de 240 pixels vers le haut
- Pour "Chiffre" tu déplace "Chiffre" fois de 240 pixels vers le haut
D'où le fameux "Y = Chiffre*(-240) + 1200 + la valeur que tu veux"
Maintenant que tu as cet événement commun magique, pour afficher un nombre... je rappelle qu'un nombre est composé de plusieurs chiffres, donc plusieurs images... Par exemple le nombre "1234" va être composé des chiffres 1, 2, 3, 4... Tu me crois ? Et bien pour afficher ce nombre, tu vas afficher les quatre chiffres un par un avec la méthode que je viens d'expliquer au-dessus.
On sait afficher n'importe quel chiffre de 0 à 9, on le sait, mais comment on connait les chiffres qui composent un nombre inconnu ? Les unités, les dizaines, les centaines, les milliers ? Comment savoir que le nombre "1234" est composé des chiffres "1", "2", "3" et "4" et pas autre chose ? Ce nombre pourrait être n'importe quel nombre, et donc, il pourrait être composé de n'importe quels chiffres...
Pour ça on utilise le modulo et la division, qui nous permettent de découper le nombre en chiffres. Ou autrement dit, isoler le chiffre des unités, des dizaines, des centaines...
Mettons, pour le nombre "1234"
Tu veux le chiffre des unités ? Le 4 ?
Tu fais 1234 modulo 10 et tu l'as, le 4.
Tu veux le chiffre des dizaines ? Le 3 ?
Tu fais 1234 modulo 100 divisé par 10 et tu l'as, le 3.
Tu veux le chiffre des centaines ? Le 2 ?
Tu fais 1234 modulo 1000 divisé par 100 et tu l'as, le 2.
Tu veux le chiffre des milliers ? Le 1 ?
Tu fais 1234 modulo 10000 divisé par 1000 et tu l'as, le 1.
Ou tu divise directement par 1000, sans faire de modulo, si ton nombre n'ira jamais plus haut que 9999.
Comment ça fonctionne ?
La flemme de t'expliquer la magie du modulo, dis toi qu'avec un modulo décimal (modulo 10, 100, 1000, 1000), c'est magique : Le nombre de zéro c'est le nombre de chiffres que tu garde à partir des unités.
Tu prends le nombre "1234", tu fais "modulo 100" il y a deux zéros, donc ça te donne les deux premiers chiffres à partir des unités : "34"
Tu divise "34" par "10", c'est magique, ça te donne "3". On peut dire que pour la division par "10, 100, 1000, 10000", le nombre de zéro c'est le nombre de chiffres que tu vas retirer. C'est juste un moyen de se rappeler.
Tu prends le nombre "12345678".
Tu veux récupérer le chiffre des milliers.
Tu fais "modulo 10000" pour avoir "5678", car quatre zéros = garder les quatre derniers chiffres.
Tu fais "diviser par 1000" pour avoir "5", car trois zéros = retirer les trois derniers chiffres.
Tu as le chiffre des milliers.
L'histoire des zéros, c'est vraiment un pense-bête, très bête, ce n'est rien d'une définition surtout.
Tu reviens donc à ton formidable événement commun qui va afficher le chiffre que tu veux à la position que tu veux.
Eh bien grâce à lui tu vas faire :
- Je prends mon nombre
- Je le coupe à coup de division/modulo pour avoir le premier chiffre, que je met dans la variable "Chiffre"
- J'utilise l'événement commun pour avoir les coordonnées de l'image pour avoir ce premier chiffre contenu dans la variables "Chiffre", affiché aux coordonnées contenues dans les variables "Xchiffre" "Ychiffre"
- J'affiche l'image aux coordonnées contenues dans les variables "X" et "Y" calculées par mon événement commun.
- Je refais pareil pour le deuxième chiffre, le troisième, le quatrième.
C'est exactement ce que fait ce deuxième événement, qui va t'afficher ton joli nombre chiffre par chiffre là où tu veux à l'écran :
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
# On dit quel nombre on veut afficher
<> modifier variable "Nombre" = "PV"
# On dit où on veut placer le nombre
# (Justifié à droite, dans l'exemple)
<> modifier variable "Xchiffre" = "20"
<> modifier variable "Ychiffre" = "50"
# On calcule le chiffre des unités du nombre "Nombre"
<> modifier variable "Chiffre" = "Nombre"
<> modifier variable "Chiffre" modulo "10"
# On calcule la position de l'image grâce à
# l'événement commun
<> appeler événement commun : "Calcul XY"
# On affiche le premier chiffre des unités
# en affichant l'image aux coordonnées calculées
# par l'événement commun
<> afficher image "1", "Image0-9", "X, Y"
# On dit que le prochain chiffre est 6 pixels à gauche
# du précédent.
<> modifier variable "Xchiffre" soustraire "6"
# On calcule le chiffre des dizaines du nombre "Nombre"
<> modifier variable "Chiffre" = "Nombre"
<> modifier variable "Chiffre" modulo "100"
<> modifier variable "Chiffre" diviser "10"
# On calcule la position de la nouvelle image
<> appeler événement commun : "Calcul XY"
# On affiche la nouvelle image, chiffre des dizaines
# A une transparence 0% (visible) si la dizaine existe
# A une transparence 100% (invisible) si la dizaine n'existe
# pas, pour ne pas afficher un 0 inutile
Condition : si "Nombre" >= 10
<> afficher image "2", "Image0-9", "X, Y", transparence 0%
Sinon
<> afficher image "2", "Image0-9", "X, Y", transparence 100%
Fin de condition
# C'est toujours pareil, c'est tout simple ! ^^
# Le chiffre des centaines :
<> modifier variable "Xchiffre" soustraire "6"
<> modifier variable "Chiffre" = "Nombre"
<> modifier variable "Chiffre" modulo "1000"
<> modifier variable "Chiffre" diviser "100"
<> appeler événement commun : "Calcul XY"
Condition : si "Nombre" >= 100
<> afficher image "3", "Image0-9", "X, Y", transparence 0%
Sinon
<> afficher image "3", "Image0-9", "X, Y", transparence 100%
Fin de condition
# Le chiffre des milliers :
<> modifier variable "Xchiffre" soustraire "6"
<> modifier variable "Chiffre" = "Nombre"
<> modifier variable "Chiffre" diviser "1000"
<> appeler événement commun : "Calcul XY"
Condition : si "Nombre" >= 1000
<> afficher image "4", "Image0-9", "X, Y", transparence 0%
Sinon
<> afficher image "4", "Image0-9", "X, Y", transparence 100%
Fin de condition
|
|
biloumaster.fr, mon joli site ouèb tout bô tout frai ! |
Posté dans Forum - [RPG Maker 2003] Problème avec les images |
Joke -
posté le 21/01/2014 à 21:07:39. (5090 messages postés) |
| Relis, c'est tout. Le code et les commentaires sont là. Tu veux qu'on se fasse chier à uploader un jeu rien que pour que tu voies les même lignes et commentaires sous RM ?
Pour ma part, ma bonté a des limites. Il n'y a pas que nous qui devons nous donner la peine, tu dois t'y mettre avant tout, surtout lorsqu'il s'agit de comprendre ce qu'on s'est déjà donné la peine de t'expliquer. :v
Explique ce que tu n'as pas compris déjà.
|
biloumaster.fr, mon joli site ouèb tout bô tout frai ! |
Posté dans Forum - [RPG Maker 2003] Problème avec les images |
Joke -
posté le 21/01/2014 à 17:12:56. (5090 messages postés) |
| EDIT : Anton_ m'a devancé, mais bon au moins j'apporte plus d'informations...
Mon image, comme Anton_ :
Spoiler (cliquez pour afficher) Ceci n'est qu'une image, la seule nécessaire à afficher des nombres en pictures.
Je me suis servi de cette technique il y a fort longtemps pour mon jeu, pour afficher les munitions en haut à droite et l'argent en bas à gauche :
C'est très optimisé, aussi bien en terme de longueur de code/facilité qu'en terme de performance.
Attention : Pour ne pas faire lagger le jeu, il faudrait faire en sorte que les images ne s'affichent qu'une seule fois à chaque changement d'écran dans le jeu ! Avec cette technique, un déplacement d'image durant 0 secondes suffit à faire varier l'affichage, c'est beaucoup plus rapide pour RM !
Inutile d'afficher à nouveau les images quand le nombre change, ou pire encore... ne pas les afficher toute les 0sec/0.1sec !!
Une fois que les images sont affichées UNE FOIS, on peut utiliser le même code avec des DÉPLACER IMAGE au lieu des AFFICHER IMAGE !
C'est beaucoup beaucoup plus optimisé !
C'est pourquoi dans mon exemple qui suit, j'affiche des images à une transparence de 100%, pour le cas des 0 inutiles à masquer, j'affiche quand-même l'image, en invisible, pour la déplacer plus tard pour la faire apparaître lorsque le nombre change.
L'exemple qui suit est fait avec des "afficher image", remplacez "afficher" par "déplacer" et ça fonctionne, en plus rapide !
Joke a dit:
En gros au lieu de faire 10 conditions pour les chiffres de 0 à 9, il suffit de créer une image qui intègre déjà tous les chiffres de 0 à 9 chacun décalés verticalement les uns par rapport aux autres de 240 pixels. Comme ça il n'y a que la position Y à calculer et il y a toujours un seul chiffre de l'image qui apparait à l'écran comme tous les autres chiffres de la même image sont en dehors de l'écran (d'où le décalage de 240 pixels, qui est la hauteur de l'écran)
Pour 10 chiffres (0 à 9) l'image fait 10*240=2400 px de haut. Comme l'image est affichée par son centre, il faut additionner la moitié (1200) pour afficher l'image depuis le premier pixel en haut. Si le chiffre tout en haut est 0, et qu'on affiche l'image à la position "x=30, y=100+1200" ça fait qu'à l'écran ça affichera le 0 aux coordonnées "30, 100"
Ce qui fait que pour afficher le contenu de la variable "Chiffre" (contenant un chiffre entre 0 et 9), il y a un calcul simple pour trouver X et Y de l'image :
X = la valeur que tu veux, position X du chiffre à partir du centre
Y = Chiffre*(-240) + 1200 + la valeur que tu veux, position Y du chiffre à partir du haut
Du coup tu peux faire un événement commun "Calcul XY" en mode "appel" qui va convertir la position "Xchiffre, Ychiffre" qui est la position du chiffre à l'écran, en "X, Y", la position de la picture de sorte à afficher le bon chiffre correspondant à la valeur de la variable "Chiffre", aux coordonnées Xchiffre, Ychiffre :
1
2
3
4
5
6
| # événement commun "Calcul XY" en mode appel
<> modifier variable "X" = "Xchiffre"
<> modifier variable "Y" = "Chiffre"
<> modifier variable "Y" multiplier par "-240"
<> modifier variable "Y" additionner "1200"
<> modifier variable "Y" additionner "Ychiffre" |
Quand tu veux afficher un chiffre depuis un événement, c'est maintenant très simple :
1
2
3
4
5
| # modifier d'abord "Chiffre" pour y stocker l'unité, la dizaine, la centaine, etc du nombre que tu veux avec le modulo et la division.
<> modifier variable "Xchiffre" = "20"
<> modifier variable "Ychiffre" = "50"
<> appeler événement commun : "Calcul XY"
<> afficher image "Image0-9" aux coordonnées "X, Y" |
Et l'image sera affichée de sorte à montrer le chiffre contenu dans la variable "Chiffre", et ce fameux chiffre se retrouvera bel et bien aux coordonnées "20, 50" à partir du point haut/centre.
Tu répète ces lignes pour afficher la dizaine après l'unité, la centaine après la dizaine, en ne faisant varier que "Xchiffre" (par soustraction, par exemple) puisque "Ychiffre" ne changera pas si les chiffres sont sur la même ligne.
Par exemple, pour afficher le nombre "PV" avec l'unité aux coordonnées 20, 50 et un espacement de 6 pixels entre les chiffres... Voici le code à faire, commenté en détail :
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
# On dit quel nombre on veut afficher
<> modifier variable "Nombre" = "PV"
# On dit où on veut placer le nombre
# (Justifié à droite, dans l'exemple)
<> modifier variable "Xchiffre" = "20"
<> modifier variable "Ychiffre" = "50"
# On calcule le chiffre des unités du nombre "Nombre"
<> modifier variable "Chiffre" = "Nombre"
<> modifier variable "Chiffre" modulo "10"
# On calcule la position de l'image grâce à
# l'événement commun
<> appeler événement commun : "Calcul XY"
# On affiche le premier chiffre des unités
# en affichant l'image aux coordonnées calculées
# par l'événement commun
<> afficher image "1", "Image0-9", "X, Y"
# On dit que le prochain chiffre est 6 pixels à gauche
# du précédent.
<> modifier variable "Xchiffre" soustraire "6"
# On calcule le chiffre des dizaines du nombre "Nombre"
<> modifier variable "Chiffre" = "Nombre"
<> modifier variable "Chiffre" modulo "100"
<> modifier variable "Chiffre" diviser "10"
# On calcule la position de la nouvelle image
<> appeler événement commun : "Calcul XY"
# On affiche la nouvelle image, chiffre des dizaines
# A une transparence 0% (visible) si la dizaine existe
# A une transparence 100% (invisible) si la dizaine n'existe
# pas, pour ne pas afficher un 0 inutile
Condition : si "Nombre" >= 10
<> afficher image "2", "Image0-9", "X, Y", transparence 0%
Sinon
<> afficher image "2", "Image0-9", "X, Y", transparence 100%
Fin de condition
# C'est toujours pareil, c'est tout simple ! ^^
# Le chiffre des centaines :
<> modifier variable "Xchiffre" soustraire "6"
<> modifier variable "Chiffre" = "Nombre"
<> modifier variable "Chiffre" modulo "1000"
<> modifier variable "Chiffre" diviser "100"
<> appeler événement commun : "Calcul XY"
Condition : si "Nombre" >= 100
<> afficher image "3", "Image0-9", "X, Y", transparence 0%
Sinon
<> afficher image "3", "Image0-9", "X, Y", transparence 100%
Fin de condition
# Le chiffre des milliers :
<> modifier variable "Xchiffre" soustraire "6"
<> modifier variable "Chiffre" = "Nombre"
<> modifier variable "Chiffre" diviser "1000"
<> appeler événement commun : "Calcul XY"
Condition : si "Nombre" >= 1000
<> afficher image "4", "Image0-9", "X, Y", transparence 0%
Sinon
<> afficher image "4", "Image0-9", "X, Y", transparence 100%
Fin de condition
|
Sans les commentaires inutiles, ça donne :
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
| # Nombre à afficher, et position :
<> modifier variable "Nombre" = "PV"
<> modifier variable "Xchiffre" = "20"
<> modifier variable "Ychiffre" = "50"
# Chiffre des unités :
<> modifier variable "Chiffre" = "Nombre"
<> modifier variable "Chiffre" modulo "10"
<> appeler événement commun : "Calcul XY"
<> afficher image "1", "Image0-9", "X, Y"
# Chiffre des dizaines :
<> modifier variable "Xchiffre" soustraire "6"
<> modifier variable "Chiffre" = "Nombre"
<> modifier variable "Chiffre" modulo "100"
<> modifier variable "Chiffre" diviser "10"
<> appeler événement commun : "Calcul XY"
Condition : si "Nombre" >= 10
<> afficher image "2", "Image0-9", "X, Y", transparence 0%
Sinon
<> afficher image "2", "Image0-9", "X, Y", transparence 100%
Fin de condition
# Chiffre des centaines :
<> modifier variable "Xchiffre" soustraire "6"
<> modifier variable "Chiffre" = "Nombre"
<> modifier variable "Chiffre" modulo "1000"
<> modifier variable "Chiffre" diviser "100"
<> appeler événement commun : "Calcul XY"
Condition : si "Nombre" >= 100
<> afficher image "3", "Image0-9", "X, Y", transparence 0%
Sinon
<> afficher image "3", "Image0-9", "X, Y", transparence 100%
Fin de condition
# Chiffre des milliers :
<> modifier variable "Xchiffre" soustraire "6"
<> modifier variable "Chiffre" = "Nombre"
<> modifier variable "Chiffre" diviser "1000"
<> appeler événement commun : "Calcul XY"
Condition : si "Nombre" >= 1000
<> afficher image "4", "Image0-9", "X, Y", transparence 0%
Sinon
<> afficher image "4", "Image0-9", "X, Y", transparence 100%
Fin de condition |
Pour afficher le nombre de la variable "MP" au lieu de "PV" tu copie colle le même code, en modifiant uniquement :
- La toute première ligne en mettant "MP" au lieu de "PV"
- Les deux lignes qui suivent, pour positionner le nouveau nombre ailleurs
- L'ID des pictures, pour en utiliser de nouvelles
Les conditions "si "Nombre" >= ..." servent à éviter d'afficher les 0 inutiles, du coup au lieu d'afficher "0012" ça va afficher "12" en empêchant d'afficher les deux premiers "0".
Et voilà comment éviter moulte conditions pour afficher les nombres en picture ! Ca fonctionne pour les chiffres de toute taille. =)
|
|
biloumaster.fr, mon joli site ouèb tout bô tout frai ! |
Posté dans Forum - Bazar des créations ! |
Joke -
posté le 06/12/2013 à 21:03:18. (5090 messages postés) |
| Sympathique, sauf les ombres de la peau qui ont des contours trop prononcés (rien à faire là en fait) et qui sont simplement grise sans rapport avec la couleur de la peau.
Les yeux sont un peu bancales aussi, peut-être que tu t'en rendras mieux compte sur une symétrie : (technique qui permet d'avoir un regard nouveau sur ce qu'on fait, en particulier ce type de défaut)
Quand tu dis "ma chérie"... euh ?
Laisse moi deviner... tu es gaucher ? (*Préparation au fail activé*)
|
biloumaster.fr, mon joli site ouèb tout bô tout frai ! |
Posté dans Forum - BD - Les aventures de Jiggler l'astronaute |
Joke -
posté le 02/12/2013 à 01:18:18. (5090 messages postés) |
| Sylvanor a dit:
Par contre ça manque un peu de détail: au début le gâteau est déjà normal ou c'est déjà un de ses potes? Le gâteau a l'air normal sur la deuxième case. Jiggler se rend compte que c'est un de ses potes après lui avoir découpé le bide? (on ne le voit pas en train de découper, mais on voit le sang).
|
N'apporte pas de la cohérence dans ce strip, s'il te plait.
Sylvain ! Au coin !
Il est juste dommage qu'on ne retrouve que les bougies du gâteau sur son pote, en effet, et pas d'autre détails qui permette de faire un lien plus direct avec la seconde case.
|
biloumaster.fr, mon joli site ouèb tout bô tout frai ! |
Aller à la page: 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
|
|