AccueilFAQRechercherS’enregistrerConnexion
 

si l'objet est à droite...

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : Précédente  1, 2, 3  Suivante
AuteurMessage
Fireranger
Maitre absolu adjoint
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++

MessageSujet: Re: si l'objet est à droite...   Ven 18 Juil - 18:38

Code:
if abs(other.x-x)<100 && y=other.y
{}

_________________
Revenir en haut Aller en bas
Liang
Maitre absolu adjoint
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).

MessageSujet: 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.
Revenir en haut Aller en bas
Xierra54
Admin - .: el traductor :.
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)

MessageSujet: 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.
_________________
Revenir en haut Aller en bas
Fireranger
Maitre absolu adjoint
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++

MessageSujet: 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
_________________
Revenir en haut Aller en bas
Liang
Maitre absolu adjoint
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).

MessageSujet: 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 ?
Revenir en haut Aller en bas
Xierra54
Admin - .: el traductor :.
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)

MessageSujet: 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)
_________________
Revenir en haut Aller en bas
Liang
Maitre absolu adjoint
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).

MessageSujet: 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 ! :D
Revenir en haut Aller en bas
Xierra54
Admin - .: el traductor :.
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)

MessageSujet: 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.
_________________
Revenir en haut Aller en bas
Liang
Maitre absolu adjoint
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).

MessageSujet: 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/
Revenir en haut Aller en bas
Xierra54
Admin - .: el traductor :.
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)

MessageSujet: 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+
_________________
Revenir en haut Aller en bas
Liang
Maitre absolu adjoint
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).

MessageSujet: 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 ?
Revenir en haut Aller en bas
Xierra54
Admin - .: el traductor :.
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)

MessageSujet: 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.
_________________
Revenir en haut Aller en bas
Xierra54
Admin - .: el traductor :.
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)

MessageSujet: 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 ?)
_________________
Revenir en haut Aller en bas
Liang
Maitre absolu adjoint
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).

MessageSujet: 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. :)
Revenir en haut Aller en bas
Xierra54
Admin - .: el traductor :.
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)

MessageSujet: 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.
_________________
Revenir en haut Aller en bas
Liang
Maitre absolu adjoint
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).

MessageSujet: 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.
Revenir en haut Aller en bas
Xierra54
Admin - .: el traductor :.
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)

MessageSujet: 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...
}
...
_________________
Revenir en haut Aller en bas
Liang
Maitre absolu adjoint
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).

MessageSujet: Re: si l'objet est à droite...   Lun 21 Juil - 17:11

Pourrais-tu le faire stp... ? :oups:

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 !!
Revenir en haut Aller en bas
Xierra54
Admin - .: el traductor :.
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)

MessageSujet: Re: si l'objet est à droite...   Lun 21 Juil - 17:35

Je vais essayer d'intégrer cela pour ce soir.

A+
_________________
Revenir en haut Aller en bas
Xierra54
Admin - .: el traductor :.
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)

MessageSujet: 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.
_________________
Revenir en haut Aller en bas

si l'objet est à droite...

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 2 sur 3Aller à la page : Précédente  1, 2, 3  Suivante

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Game Maker Zone :: Zone : Game Maker :: Game Maker - Problèmes :: GM - Problèmes avec les bases de Game Maker-