| [Collisions] Les masques de collisions | |
|
|
|
Auteur | Message |
---|
Falco Maker qui quitte vraiment E-m Lv 60
Nombre de messages : 13628 Age : 33
| Sujet: [Collisions] Les masques de collisions Ven 03 Avr 2009, 21:43 | |
| Bonjour, bienvenue dans ce tutoriel. Je vais vous expliquer ce qu'un masque de collision. Comme son nom l'indique plus ou moins, il vous permettra de faire des collisions parfaite entre personnages et décors.On va commencer avec un exemple, vous aimeriez faire un jeu de plates-formes. Vous programmez votre système, pour les collisions, vous faites "si sprite_héros touche décors" => "stopper mouvement". GROSSE ERREUR !En effet, même si le système sera fonctionnel, il sera buggé, et extrêmement soulant pour le joueur! Pourquoi ? Voyons cela en image : Super, ça marche, le héros peut se déplacer sur le sol, essayons maintenant de sauter par dessus ce pilierHeu... Le héros maintient en équilibre avec seulement 1 pixel, trop fort.Vous comprenez ? En faisant "si sprite_héros touche décors" le programme va prendre en compte tout le sprite, vous aurez beau toucher un mur d'un pixel, ça suffira pour stopper le mouvement. Or dans un jeu de plates formes, il est préférable que la zone de détection soit le la tête, le buste, et les jambes. Heureusement, les masques de collisions sont la pour nous sauver la vie. Plutôt que de prendre en compte le sprite dans la condition, on va créé un nouveau sprite, en forme de rectangle sur le héros, qui servira de test pour la condition. C'est ultra simple : On place le rectangle sur le héros, on le rend invisible pendant le jeu, et on peut faire la condition : "si masque_héros touche décors" => "stopper mouvement"De ce fait, Plus de problèmes pour des pixels qui dépassent, puisque la collision est testé avec le carré et non le héros. Voila, vous voyez, c'était ultra simple ! N'oubliez pas de bien placer le rectangle sur le héros, et de le déplacer en même temps que ce dernier pendant le jeu. Sachez aussi que les masques s'utilisent pour tout, décors, adversaire, PNJ, etc... Prenez par exemple une map de mon projet Castlevania. Voila à quoi elle ressemble in game : Et depuis l'éditeur : J'espère avoir été clair, sachez que si vous voulez des collisions parfaites, il n'y a pas d'autres solutions ____________ "Listen now, you don't understand That's not the point of Christmas land"
Dernière édition par Falco le Lun 23 Nov 2009, 21:15, édité 1 fois | |
|
| |
AristA Maker qui quitte vraiment E-m Lv 60
Nombre de messages : 11008 Age : 27
| Sujet: Re: [Collisions] Les masques de collisions Ven 03 Avr 2009, 22:02 | |
| C'est quoi un masque ? Le masque, comment on le fait ? C'est une fonction spéciale ou un objet ? | |
|
| |
Falco Maker qui quitte vraiment E-m Lv 60
Nombre de messages : 13628 Age : 33
| Sujet: Re: [Collisions] Les masques de collisions Ven 03 Avr 2009, 22:03 | |
| C'est juste un sprite qu'on place sur un autre sprite en fait ^^ Tu le fais avec Paint :p ____________ "Listen now, you don't understand That's not the point of Christmas land"
| |
|
| |
AristA Maker qui quitte vraiment E-m Lv 60
Nombre de messages : 11008 Age : 27
| Sujet: Re: [Collisions] Les masques de collisions Ven 03 Avr 2009, 22:07 | |
| Donc en gros c'est un personnage que je déplace en même temps que mon héro et qui est sur le héro... C'est pas trop buggé ? Comment il fait le héro pour tenir sur une plate forme alors ? Il passe au travers des objets ? | |
|
| |
Falco Maker qui quitte vraiment E-m Lv 60
Nombre de messages : 13628 Age : 33
| Sujet: Re: [Collisions] Les masques de collisions Ven 03 Avr 2009, 22:15 | |
| - Citation :
- Donc en gros c'est un personnage que je déplace en même temps que mon héro et qui est sur le héro
Attention, en programmation, on parle de "sprite" ou "objets". C'est donc un sprite sur un sprite (un héros est un sprite). :p - Citation :
- C'est pas trop buggé ?
Bah non, c'est le but ^^ C'est ce que font les pro pour programmer des collisions - Citation :
Comment il fait le héro pour tenir sur une plate forme alors ? Il passe au travers des objets ? T'as pas trop compris Etant donné que le héros est fixé au carré, et que le carré sert de collision, le héros restera sur la plate forme sans passer à travers ^^ Dis toi que c'est de la pure logique. ____________ "Listen now, you don't understand That's not the point of Christmas land"
| |
|
| |
AristA Maker qui quitte vraiment E-m Lv 60
Nombre de messages : 11008 Age : 27
| Sujet: Re: [Collisions] Les masques de collisions Ven 03 Avr 2009, 22:20 | |
| Alors donc comment on fixe le sprite au carré ? Ils sont indépendants ou pas ? En gros c'est ça que je voulais dire ^_^ | |
|
| |
Falco Maker qui quitte vraiment E-m Lv 60
Nombre de messages : 13628 Age : 33
| Sujet: Re: [Collisions] Les masques de collisions Ven 03 Avr 2009, 22:34 | |
| Ça dépend pour la fixation, sur MMF, suffit de faire "always (toujours) - Modifier position du masque =>rendre égale=> position du héros".
^^ ____________ "Listen now, you don't understand That's not the point of Christmas land"
| |
|
| |
AristA Maker qui quitte vraiment E-m Lv 60
Nombre de messages : 11008 Age : 27
| Sujet: Re: [Collisions] Les masques de collisions Ven 03 Avr 2009, 22:40 | |
| Ce serait pas plutot le contraire (parce que si le héro tombe, le masque tombe aussi ) Merci pour l'astuce que je n'ai compris qu'au bout de 4 post (quand même). Ainsi donc je pourrais ENFIN faire un jeu de plate forem =° Merci encore. | |
|
| |
Falco Maker qui quitte vraiment E-m Lv 60
Nombre de messages : 13628 Age : 33
| Sujet: Re: [Collisions] Les masques de collisions Ven 03 Avr 2009, 22:49 | |
| - Citation :
- Ce serait pas plutot le contraire (parce que si le héro tombe, le masque tombe aussi )
J'ai oublié de le préciser, il vaut mieux en fait que le héros soit le carré, et que le sprite qui lui sert d'animation apparaisse derrière :p C'est compliqué, il vaut mieux tester par soi même pour bien comprendre ^^ ____________ "Listen now, you don't understand That's not the point of Christmas land"
| |
|
| |
AristA Maker qui quitte vraiment E-m Lv 60
Nombre de messages : 11008 Age : 27
| Sujet: Re: [Collisions] Les masques de collisions Ven 03 Avr 2009, 22:53 | |
| Dans tous les cas, c'est le sprite qui doit aller sur le masque ...? | |
|
| |
Relm ---Fantôme--- Lv 0
Nombre de messages : 40942 Age : 33
| Sujet: Re: [Collisions] Les masques de collisions Ven 03 Avr 2009, 23:42 | |
| Merci Falco pour ce tuto ça va être utile à du monde sûrement. (Tu aurais pu le mettre dans la section MMF2, quand même. ) sinon : c'est custom ? ____________ - Alex RE a écrit:
- C'est comme utiliser une hache pour trancher du pain. Je suis peut-être trop vieux pour ça.
| |
|
| |
Chroniker Super Maker Lv 17
Nombre de messages : 623 Age : 30
| Sujet: Re: [Collisions] Les masques de collisions Sam 04 Avr 2009, 00:01 | |
| Moi je dis Paint.... Sinon je crois que c'est un bon tuto mais....Comment définir ce masque?C'est quoi la nature de ce masque? ____________ | |
|
| |
Falco Maker qui quitte vraiment E-m Lv 60
Nombre de messages : 13628 Age : 33
| Sujet: Re: [Collisions] Les masques de collisions Dim 05 Avr 2009, 11:00 | |
| Ok, j'ai pas vu qu'il y avais des réponses - Citation :
- Dans tous les cas, c'est le sprite qui doit aller sur le masque ...?
Ben moi c'est ce que j'ai fais pour mon Castlevania. J'ai créé le rectangle, je lui ai donné des mouvements (déplacements, sauts, etc...) Puis j'ai affiche le héros dessus, et j'ai modifier le rectangle pour qu'il soit transparent ^^ Après c'est peut-être pas une obligation de faire ainsi, mais ça marche du tonnerre. - Citation :
- (Tu aurais pu le mettre dans la section MMF2, quand même. )
Non car c'est la technique officiel que les pros utilisent pour faire un système de collisions, que ce soit en C++, java, MMF, GM, etc... C'est la seule solution pour avoir un système parfait C'est plus une notion qu'autre chose - Citation :
- c'est custom ?
Non c'est rippé de Final Fanatasy XIII... - Citation :
- Comment définir ce masque?C'est quoi la nature de ce masque?
Je l'ai expliqué ça... Le masque c'est juste une image, un sprite quoi. Tu fais un carré sous paint, tu l'importe dans le logiciel et tu le rends égal aux coordonnées du héros, et c'est bon. ____________ "Listen now, you don't understand That's not the point of Christmas land"
| |
|
| |
Falco Maker qui quitte vraiment E-m Lv 60
Nombre de messages : 13628 Age : 33
| Sujet: Re: [Collisions] Les masques de collisions Lun 23 Nov 2009, 21:16 | |
| Je profite de l'occasion pour remettre à jour le tutoriel ici aussi, au cas ou ça intéresserai quelques personnes. J'ai essayé d'être plus clair dans mes explications. ____________ "Listen now, you don't understand That's not the point of Christmas land"
| |
|
| |
Empty Mangeur de manettes Lv 65
Nombre de messages : 16363 Age : 38
| Sujet: Re: [Collisions] Les masques de collisions Mar 02 Fév 2010, 19:00 | |
| Ah ben voila niquel ça ! En plus ça vient de résoudre mon problème de background par la même occasion, merci pour ce tuto que je n'avais même pas vu =] | |
|
| |
Falco Maker qui quitte vraiment E-m Lv 60
Nombre de messages : 13628 Age : 33
| Sujet: Re: [Collisions] Les masques de collisions Mar 02 Fév 2010, 19:08 | |
| De rien, content de t'avoir appris quelque chose ^^ Franchement, une fois qu'on comprends les masques de collisions, la programmation avec MMF devient niquel ____________ "Listen now, you don't understand That's not the point of Christmas land"
| |
|
| |
Empty Mangeur de manettes Lv 65
Nombre de messages : 16363 Age : 38
| Sujet: Re: [Collisions] Les masques de collisions Mar 02 Fév 2010, 19:37 | |
| En effet, nettement moins casse-couilles pour le mapping également ! Je fais mes maps sous RM, je screen puis je m'en sert en background et je tape des actives là où il doit y avoir des collisions C'est une map pour tester ton système hein (On voit un objet en transparence en peu (beaucoup) en décalé d'ailleurs). Ca marche niquel !!! *Super content* | |
|
| |
valentinos Maker No Life Lv 31
Nombre de messages : 1493 Age : 30
| Sujet: Re: [Collisions] Les masques de collisions Mar 02 Fév 2010, 20:10 | |
| Ca risque pas de peser lourd si tu utilise des images pour ton background vu la taille des map dans un mario Valentinos PS : tu utilise le gameplay platforme de MMF ou tu utilise ton propre algorithme Re-ps : pour ceux que ça intéresse le tuto de Flaco est valable pour la SDL, il suffit de remplacer ce masque de collision par un rect, et si le déplacement est possible, blittez le héro sur le rect ____________ - Citation :
- [00:49:30] falco a été kické par choco-sama
[00:49:30] Falco : ok | |
|
| |
Falco Maker qui quitte vraiment E-m Lv 60
Nombre de messages : 13628 Age : 33
| Sujet: Re: [Collisions] Les masques de collisions Mar 02 Fév 2010, 20:29 | |
| Niquel KoZzY ! J'ai mieux à te proposer que RM : http://mapeditor.org/ Même système de mapping que RM, en mieux : - Export image automatiquement - Plusieurs calques - Tileset illimité - etc... En plus je vois que la dernière version est sortie il y a trois jours ____________ "Listen now, you don't understand That's not the point of Christmas land"
| |
|
| |
Empty Mangeur de manettes Lv 65
Nombre de messages : 16363 Age : 38
| Sujet: Re: [Collisions] Les masques de collisions Mar 02 Fév 2010, 21:12 | |
| Valentinos: J'utilise le système de base de MMF mais je pense que je vais devoir recalculer ça car au niveau de la gestion de la gravité c'est pas super propre :/ (tu me conseillerais combien en Strenght pour la gravité pour un mario like, Falco ?). Falco: Encore une chouette trouvaille, j'en aurais fait des découvertes en deux jours je teste ça de suite ! Edit pour Val: désolé j'avais pas fait attention à la première question ... Oui ça risque de peser lourd 18 fois 3390.480pixels au format .bmp ... Mais bon, faut ce qu'il faut ! | |
|
| |
Falco Maker qui quitte vraiment E-m Lv 60
Nombre de messages : 13628 Age : 33
| Sujet: Re: [Collisions] Les masques de collisions Mar 02 Fév 2010, 21:20 | |
| - Citation :
- Valentinos: J'utilise le système de base de MMF mais je pense que je vais devoir recalculer ça car au niveau de la gestion de la gravité c'est pas super propre :/ (tu me conseillerais combien en Strenght pour la gravité pour un mario like, Falco ?).
Mega grosse erreur ! Le système de base de MMF est buggé. Deux choix s'offres à toi : Système de plate forme custom : C'est méga chaud quand on débute ^^ Si tu veux un exemple : http://www.zoglu.net/articles.php mouvement plates formes simples, et mouvement plates formes avancés (que Zoglu à fait pour mon Castlevania, avant que je refasse le moteur moi même.) Ou alors, la meilleure technique pour moi, car super simple, et beaucoup plus intéressante, Plate Forme movment Object : http://www.otarix.com/index.php?p=article&id=10 Si tu ne possèdes pas l'extension, installe la depuis Fusion Updater. Edit : - Citation :
- Edit pour Val: désolé j'avais pas fait attention à la première question ... Oui ça risque de peser lourd 18 fois 3390.480pixels au format .bmp ... Mais bon, faut ce qu'il faut !
MER IL E FOU !! Jamais de BMP. Le PNG c'est le bien ____________ "Listen now, you don't understand That's not the point of Christmas land"
| |
|
| |
Empty Mangeur de manettes Lv 65
Nombre de messages : 16363 Age : 38
| Sujet: Re: [Collisions] Les masques de collisions Mar 02 Fév 2010, 21:31 | |
| - Citation :
- Ou alors, la meilleure technique pour moi, car super simple, et beaucoup plus intéressante, Plate Forme movment Object :
Adopté ! - Citation :
- MER IL E FOU !!
Jamais de BMP. Le PNG c'est le bien De toutes façons j'aurais bien fini par me rendre compte que je n'ai pas besoin de gérer la transparence sur les backgrounds ^^ | |
|
| |
valentinos Maker No Life Lv 31
Nombre de messages : 1493 Age : 30
| Sujet: Re: [Collisions] Les masques de collisions Mar 02 Fév 2010, 21:32 | |
| - Falco a écrit:
- Edit :
- Citation :
- Edit pour Val: désolé j'avais pas fait attention à la première question ... Oui ça risque de peser lourd 18 fois 3390.480pixels au format .bmp ... Mais bon, faut ce qu'il faut !
MER IL E FOU !! Jamais de BMP. Le PNG c'est le bien Ou le tile mapping, mais niveau prog' c'est assez chaud par contre c'est ultra léger, et créer un éditeur sera nettement plus simple Valentinos ____________ - Citation :
- [00:49:30] falco a été kické par choco-sama
[00:49:30] Falco : ok | |
|
| |
Falco Maker qui quitte vraiment E-m Lv 60
Nombre de messages : 13628 Age : 33
| Sujet: Re: [Collisions] Les masques de collisions Mar 02 Fév 2010, 21:32 | |
| la transparence se gère aussi en PNG de toute façon Edit : Créer un éditeur sur MMF c'est trop difficile, moi même je n'y arriverai pas à l'heure actuelle ^^ ____________ "Listen now, you don't understand That's not the point of Christmas land"
| |
|
| |
Empty Mangeur de manettes Lv 65
Nombre de messages : 16363 Age : 38
| Sujet: Re: [Collisions] Les masques de collisions Mar 02 Fév 2010, 21:35 | |
| Ah bon ? Pourtant toutes les images que j'ai importées en .png, pas moyen d'utiliser l'effet de transparence :/ | |
|
| |
Contenu sponsorisé
| Sujet: Re: [Collisions] Les masques de collisions | |
| |
|
| |
| [Collisions] Les masques de collisions | |
|