| si l'objet est à droite... | |
|
Aller à la page : 1, 2, 3  |
| Auteur | Message |
|---|
Fireranger Maitre absolu adjoint

Age : 14 Inscrit le : 22 Nov 2007 Messages : 621 Programme utilisé (Gm/RmXp/...) : Game Maker 7 PRO, Visual Basic 9.0, Visual C++
| |
 | |
Liang Maitre absolu adjoint


Age : 16 Inscrit le : 28 Fév 2007 Messages : 762 Programme utilisé (Gm/RmXp/...) : Game Maker 6.1 register (merci à quelqu'un !!), RPG Maker, Photoshop (un peu).
| Sujet: Re: si l'objet est à droite... Ven 18 Juil - 19:46 | |
| | Ca ne marche pas... Est-il possible que cela soit dû au fait que l'origine y ne soit pas le même pour les deux objets ? : J'ai l'impresson qu'il ne reconnaît pas la commande, il fait ce qu'il doit faire si l'objet n'est pas sur la même ligne que lui. |
|
 | |
Xierra54 Admin - .: el traductor :.


Age : 49 Inscrit le : 13 Aoû 2005 Messages : 7797 Programme utilisé (Gm/RmXp/...) : GM (6.1 et 7 enregistrées), Purebasic (démo)
| Sujet: Re: si l'objet est à droite... Ven 18 Juil - 19:50 | |
| As-tu essayé "collision_line" avec ma modification ? Je l'avais utilisé dans le passé et cela marchait bien.
Utilises aussi plutôt collision_rectangle(...) (voir doc) car la zone de collision est réglée sur un rectangle ce qui peut-être, conviendra mieux pour ton jeu. _________________
|
|
 | |
Fireranger Maitre absolu adjoint

Age : 14 Inscrit le : 22 Nov 2007 Messages : 621 Programme utilisé (Gm/RmXp/...) : Game Maker 7 PRO, Visual Basic 9.0, Visual C++
| Sujet: Re: si l'objet est à droite... Sam 19 Juil - 2:08 | |
| C'est sur que si l'origine n'est pas la même... Mais il devrait seulement être décalé.
On dit si la valeur absolu de l'autre x - x est plus petit que 100 (si la distance < 100) et que les 2 y sont identiques {}
Sinon, essaie collision rectangle _________________
 |
|
 | |
Liang Maitre absolu adjoint


Age : 16 Inscrit le : 28 Fév 2007 Messages : 762 Programme utilisé (Gm/RmXp/...) : Game Maker 6.1 register (merci à quelqu'un !!), RPG Maker, Photoshop (un peu).
| Sujet: Re: si l'objet est à droite... Sam 19 Juil - 13:09 | |
| Xierra, c'est bon ça marche, j'ai fait :
| Citation: | collision_line(x,y,0,256,objet1,false,false) *// pour la gauche et collision_line(x,y,256,256,objet1,false,false) *// pour la droite |
Par contre, cela ne se déclenche que quand le héros est très près de l'instance dans laquelle je fais le code... Y-a-t-il une explication ?
Et aussi, que représente "objet1" dans le code ? est-ce que lorsque la ligne est faite, on regarde si c'est lui qui est en collision avec la ligne ? |
|
 | |
Xierra54 Admin - .: el traductor :.


Age : 49 Inscrit le : 13 Aoû 2005 Messages : 7797 Programme utilisé (Gm/RmXp/...) : GM (6.1 et 7 enregistrées), Purebasic (démo)
| Sujet: Re: si l'objet est à droite... Dim 20 Juil - 23:16 | |
| Pour "objet1", c'est exact ce que tu viens de dire.
Par contre, je ne comprends pas trop le paramètre "256" ! Mets absolument la largeur totale de ton écran de jeu (en tous cas pour la droite) Pour la gauche, mets de 0 jusqu'aux coordonnées (x et y) de ton héros.
Le mieux serait que tu fasses un dessin sur papier afin de mieux comprendre le choix des # paramètres de collision_line... selon les 2 situations possibles (droite et gauche) _________________
|
|
 | |
Liang Maitre absolu adjoint


Age : 16 Inscrit le : 28 Fév 2007 Messages : 762 Programme utilisé (Gm/RmXp/...) : Game Maker 6.1 register (merci à quelqu'un !!), RPG Maker, Photoshop (un peu).
| Sujet: Re: si l'objet est à droite... Lun 21 Juil - 11:20 | |
| Ma vue fait 256 pixels, et je veux que l'ennemi ne detecte le héros que dans sa view. 
Par contre, si je mets 256 dans mon deuxième y, ça veut dire que mon trait va jusqu'au 256ème pixels en partant du haut non ? c'est pas gégé, il me semble... ?
En tout cas, merci pour cette aide, c'est super !  |
|
 | |
Xierra54 Admin - .: el traductor :.


Age : 49 Inscrit le : 13 Aoû 2005 Messages : 7797 Programme utilisé (Gm/RmXp/...) : GM (6.1 et 7 enregistrées), Purebasic (démo)
| Sujet: Re: si l'objet est à droite... Lun 21 Juil - 12:29 | |
| Je vais discuter à partir d'un exemple. Imaginons que ton héros se trouve en bas de l'écran (ou de ta view), aux coordonnées x (=200) et y (=150), avec un écran de 256 pixels en hauteur et largeur. Pour la gauche, on aura donc : collision_line(0,y,x,y,objet1,false,false) *// pour la gauche Pour la droite, on aura : collision_line(x,y,256,y,objet1,false,false) *// pour la droite
Ps. En gras, les modifs. par rapport à ton exemple. _________________
|
|
 | |
Liang Maitre absolu adjoint


Age : 16 Inscrit le : 28 Fév 2007 Messages : 762 Programme utilisé (Gm/RmXp/...) : Game Maker 6.1 register (merci à quelqu'un !!), RPG Maker, Photoshop (un peu).
| Sujet: Re: si l'objet est à droite... Lun 21 Juil - 12:46 | |
| | Citation: | collision_line(0,y,x,y,objet1,false,false) *// pour la gauche collision_line(x,y,256,y,objet1,false,false) *// pour la droite |
Donc comme les coordonnées de l'objet dans lequel est l'event sont 200,150, ça donne :
collision_line(0,150,x,y,heros,false,false) *// pour la gauche et collision_line(256,150,x,y,heros,false,false) *// pour la droite
C'est bien ça ?
Edit : hum...ça ne marche pas... Voici un exemple fait à partir de mon jeu original, si tu arrives à voir où j'ai faux...? http://www.zshare.net/download/15705565cb548a7f/ |
|
 | |
Xierra54 Admin - .: el traductor :.


Age : 49 Inscrit le : 13 Aoû 2005 Messages : 7797 Programme utilisé (Gm/RmXp/...) : GM (6.1 et 7 enregistrées), Purebasic (démo)
| Sujet: Re: si l'objet est à droite... Lun 21 Juil - 16:15 | |
| Non, ce n'est pas exactement cela ! Recopie les 2 lignes "collision_line(...)" comme je te les ai données STP.
Ce qui doit être éventuellement changé est uniquement la taille de ton écran ou de ta view (dans l'exemple, la taille était de 256 pixels)
Dis-moi ensuite si cela marche.
A+ _________________
|
|
 | |
Liang Maitre absolu adjoint


Age : 16 Inscrit le : 28 Fév 2007 Messages : 762 Programme utilisé (Gm/RmXp/...) : Game Maker 6.1 register (merci à quelqu'un !!), RPG Maker, Photoshop (un peu).
| Sujet: Re: si l'objet est à droite... Lun 21 Juil - 16:37 | |
| | J'ai fait du copier coller de tes deux lignes, mais il ne reconnaît pas j'ai l'impression. As-tu téléchargé mon exemple ? |
|
 | |
Xierra54 Admin - .: el traductor :.


Age : 49 Inscrit le : 13 Aoû 2005 Messages : 7797 Programme utilisé (Gm/RmXp/...) : GM (6.1 et 7 enregistrées), Purebasic (démo)
| Sujet: Re: si l'objet est à droite... Lun 21 Juil - 16:44 | |
| Non, je vais télécharger et te dirai ensuite ce que j'ai pû faire. _________________
|
|
 | |
Xierra54 Admin - .: el traductor :.


Age : 49 Inscrit le : 13 Aoû 2005 Messages : 7797 Programme utilisé (Gm/RmXp/...) : GM (6.1 et 7 enregistrées), Purebasic (démo)
| Sujet: Re: si l'objet est à droite... Lun 21 Juil - 16:50 | |
| J'avoue ne pas m'y retrouver ! Dans quoi dois-je regarder ? (objet ennemi1 ?) _________________
|
|
 | |
Liang Maitre absolu adjoint


Age : 16 Inscrit le : 28 Fév 2007 Messages : 762 Programme utilisé (Gm/RmXp/...) : Game Maker 6.1 register (merci à quelqu'un !!), RPG Maker, Photoshop (un peu).
| Sujet: Re: si l'objet est à droite... Lun 21 Juil - 16:51 | |
| C'est bien ça. Et c'est le code dans le step qui et celui de l'alarme qui posent problème avec la collision line.  |
|
 | |
Xierra54 Admin - .: el traductor :.


Age : 49 Inscrit le : 13 Aoû 2005 Messages : 7797 Programme utilisé (Gm/RmXp/...) : GM (6.1 et 7 enregistrées), Purebasic (démo)
| Sujet: Re: si l'objet est à droite... Lun 21 Juil - 16:55 | |
| A priori, je dirais que le coolision_line(...) doit se trouver dans le STEP car doit être selon moi testé en permanence. Mais cela demande à ce que tu modifies d'autres choses certainement. _________________
|
|
 | |
Liang Maitre absolu adjoint


Age : 16 Inscrit le : 28 Fév 2007 Messages : 762 Programme utilisé (Gm/RmXp/...) : Game Maker 6.1 register (merci à quelqu'un !!), RPG Maker, Photoshop (un peu).
| Sujet: Re: si l'objet est à droite... Lun 21 Juil - 16:58 | |
| En fait, mon personnage "ennemi", toutes les 2 secondes (d'où l'alarme), fait une action. MAIS si le héros est sur la même ligne que lui, alors il ne fait pas ces actions, et exécute alors ce qui est dans le code du step.
Le code de collision_line dans l'event alarme est juste là pour vérifier si il est sur la même ligne, et non pas à gauche ou à droite.
Voila voila. |
|
 | |
Xierra54 Admin - .: el traductor :.


Age : 49 Inscrit le : 13 Aoû 2005 Messages : 7797 Programme utilisé (Gm/RmXp/...) : GM (6.1 et 7 enregistrées), Purebasic (démo)
| Sujet: Re: si l'objet est à droite... Lun 21 Juil - 17:04 | |
| Il faudrait alors plutôt écrire : if !collision_ligne(0,y,640,y,heros,false,false) { ici, tes actions pour l'ennemi1... } ... _________________
|
|
 | |
Liang Maitre absolu adjoint


Age : 16 Inscrit le : 28 Fév 2007 Messages : 762 Programme utilisé (Gm/RmXp/...) : Game Maker 6.1 register (merci à quelqu'un !!), RPG Maker, Photoshop (un peu).
| Sujet: Re: si l'objet est à droite... Lun 21 Juil - 17:11 | |
| Pourrais-tu le faire stp... ? 
D'habitude j'aime pas trop, mais là je pense que ça prendrait autant de temps que pour m'expliquer, et de plus il est probable qu'un fois le bon code sous les yeux, je comprenne.
Mais evidemment, si ça doit te prendre trop de temps, ou t'embêter, je comprendrai !! |
|
 | |
Xierra54 Admin - .: el traductor :.


Age : 49 Inscrit le : 13 Aoû 2005 Messages : 7797 Programme utilisé (Gm/RmXp/...) : GM (6.1 et 7 enregistrées), Purebasic (démo)
| Sujet: Re: si l'objet est à droite... Lun 21 Juil - 17:35 | |
| Je vais essayer d'intégrer cela pour ce soir.
A+ _________________
|
|
 | |
Xierra54 Admin - .: el traductor :.


Age : 49 Inscrit le : 13 Aoû 2005 Messages : 7797 Programme utilisé (Gm/RmXp/...) : GM (6.1 et 7 enregistrées), Purebasic (démo)
| Sujet: Re: si l'objet est à droite... Lun 21 Juil - 17:48 | |
| Voilà ! Est-cela que tu voulais ?
PS : j'ai un pb. d'accès à Zshare. Je te donnerai le lien + tard. _________________
|
|
 | |
| si l'objet est à droite... | |
|