AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le deal à ne pas rater :
Réassort du coffret Pokémon 151 Électhor-ex : où l’acheter ?
Voir le deal

 

 Problème de collision.

Aller en bas 
+2
Térence
Yautja
6 participants
Aller à la page : 1, 2  Suivant
AuteurMessage
Yautja
Débutant



Messages : 26

Problème de collision. Empty
MessageSujet: Problème de collision.   Problème de collision. EmptyMer 12 Déc 2012 - 13:55

Salut, bneige

Je débute pour la création d'un jeu platforme.
Je voudrais faire mon jeu sans l'aide de "script" déjà tout fait.

J'ai donc commencé a coder un "moteur de platforme" mais il y a un problème.

voici le code pour la chute.

y+=vv //Ceci est la vitesse verticale
//longeur et hauteur de mon sprite 32/32
if place_free(x,y+1)
{
vv+=1
}
else
{
y=other.y-32 //Le problème est là: mon perso fait des petits bond lorsqu'il touche l'objet solide en bas. Et si je met le nom de mon objet solide (bloc) seul les blocs coller entre eux agissent correctement. si je met un bloc tout seul ça beug etc.(j'arrive pas a bien expliquer cette phase là)
vv=0
}


Je voudrais savoir si vous avez une solution. Me dire qu'est ce qui ne va pas et j'essayerais d'y remédier.

Merci.
Revenir en haut Aller en bas
Yautja
Débutant



Messages : 26

Problème de collision. Empty
MessageSujet: Re: Problème de collision.   Problème de collision. EmptyMer 12 Déc 2012 - 16:25

Peut être que le code n'est pas bon en lui même?

Logiquement lorsqu'il touche l'objet en bas il doit s'arrêter mais il sautille. Les collisions ne sont pas facile a gérer.

Mon sprite mesure 32p/32p

mon code:

si il n y a pas de contact, l'objet tombe fleche_d d'où vv+=1
sinon il s'arrête fleche_d vv=0 ; y-=32(car solide =32p/32p)








Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
Térence


Messages : 2213
Localisation : Oui

Problème de collision. Empty
MessageSujet: Re: Problème de collision.   Problème de collision. EmptyMer 12 Déc 2012 - 17:52

Qu'est ce que tu veux faire avec ton code ?
C'est pas plus simple d'utiliser la variable gravité ?
J'ai voulu répondre cet aprèm, mais je me suis fait choper, c'est ta faute tout ca !
Revenir en haut Aller en bas
Yautja
Débutant



Messages : 26

Problème de collision. Empty
MessageSujet: Re: Problème de collision.   Problème de collision. EmptyMer 12 Déc 2012 - 17:58

Merci de répondre

mais ça n'as aucun rapport avec la gravité.

le problèmes vient de
Code:
y=y-32

l'objet doit s'arreter pil poil sur le bloc, sauf qu'il fait des bond a l'infini au contact...

Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
Térence


Messages : 2213
Localisation : Oui

Problème de collision. Empty
MessageSujet: Re: Problème de collision.   Problème de collision. EmptyMer 12 Déc 2012 - 20:29

Ben essaie avec +32, parce que là il retourne en arrière...
Mais là il risque de s'encastrer dans le mur..
Mais je t'avoue que j'ai toujours pas compris ce que tu veux faire...
Revenir en haut Aller en bas
Yautja
Débutant



Messages : 26

Problème de collision. Empty
MessageSujet: Re: Problème de collision.   Problème de collision. EmptyJeu 13 Déc 2012 - 10:52

y+=vv //Ceci est la vitesse verticale

if place_free(x,y+1) // si il n y a pas d'objet en bas
{
vv+=1 // il y a gravité
}
else sinon
{
y=y-32 // mon objet qui tombe doit s'arreter sur l'objet solide.
vv=0 // pas de gravité
}

Térence68. +32 il se retrouve de l'autre coté donc se n'est pas ça.
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
Térence


Messages : 2213
Localisation : Oui

Problème de collision. Empty
MessageSujet: Re: Problème de collision.   Problème de collision. EmptyJeu 13 Déc 2012 - 14:53

Bon ben +1 alors...
T'es sur la bonne voie, vu qu'il va désormais dans la bonne direction, essaie avec plusieurs valeurs ; ou fait une boucle :
[code]while(place_free(x,y+1))
{
y+=1;
}
Revenir en haut Aller en bas
Yautja
Débutant



Messages : 26

Problème de collision. Empty
MessageSujet: Re: Problème de collision.   Problème de collision. EmptyJeu 13 Déc 2012 - 16:04

Avec le ce code il agit de la même manière: il fait des bonds au lieu de s'arrêter.

je vais essayer autre chose. Si tu as une idée n'hésite pas a poster merci.
Revenir en haut Aller en bas
Yautja
Débutant



Messages : 26

Problème de collision. Empty
MessageSujet: Re: Problème de collision.   Problème de collision. EmptyVen 14 Déc 2012 - 13:52

Je fais appel au expert, là je suis perdu. j'arrive pas a comprendre pourquoi il ne s'arrête pas au contact du sol.

Revenir en haut Aller en bas
Yautja
Débutant



Messages : 26

Problème de collision. Empty
MessageSujet: Re: Problème de collision.   Problème de collision. EmptyVen 14 Déc 2012 - 15:50

salut,

Code:
y+=vv
if (place_free(x,y+1))
{
    vv+=1;
    if vv>15{vv=15}
}
else
{
y=bloc.y-32 // VOICI LA SOLUTION --> à priori.
vv=0
}

Cela fonctionne mais lorsque un bloc est superposé et que je saute dessus mon perso disparaît.

je voudrais savoir si plusieurs objet dans une room, qui appartienne a un seul objet(exemple objet_bloc est placé 5 fois dans la room0) peuvent être indépendant les uns des autres
Revenir en haut Aller en bas
marty
Utilisateur confirmé: Rang ***
marty


Messages : 697
Projet Actuel : laby-ereinte !

Problème de collision. Empty
MessageSujet: Re: Problème de collision.   Problème de collision. EmptyVen 14 Déc 2012 - 16:01

bah je crois que c'est toujours le même problème soulevé par tous les débutants et qui est pas très logique d'ailleurs

l'objet se déplace a une certaine vitesse ,il est est donc affiché en fonction de son déplacement
si on définit une vitesse supérieure à y=y+1 alors toutes les belles fonctions de GM sont "out" pour la compréhension de la gestion de collision de GM.

car lorsque la vitesse augmente, l'objet n'existe plus pour Game maker entre les deux positions,
donc on a recourt à un move tout contact quand on programme en icône (c'est mon cas) pour contrecarrer cet état de fait!

bref ici c'est bien expliqué!

il faut également comprendre la différence entre objet solide et non solide pour résoudre ce problème

Revenir en haut Aller en bas
Yautja
Débutant



Messages : 26

Problème de collision. Empty
MessageSujet: Re: Problème de collision.   Problème de collision. EmptyVen 14 Déc 2012 - 16:58

merci marty.

Grâce à ça j'ai découvert d'autres fonction intéressante.

le problème est y-=32 --> ça fait des bond à l'infini... ce n'est pas la solution


je vais essayer
Code:
if collision_line(xprevious,yprevious,x,y,obj_mur,true,true)
{
//vos actions
}

mais je ne connais pas la signification de xprevious,yprevious

quelqu'un peut m'aider?




Revenir en haut Aller en bas
Yautja
Débutant



Messages : 26

Problème de collision. Empty
MessageSujet: Re: Problème de collision.   Problème de collision. EmptyVen 14 Déc 2012 - 19:40

Y a t-il quelqu'un ? neutre
Revenir en haut Aller en bas
chopsuey
Utilisateur confirmé: Rang ***
chopsuey


Messages : 523
Localisation : saint etienne
Projet Actuel : All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
...

Problème de collision. Empty
MessageSujet: Re: Problème de collision.   Problème de collision. EmptyVen 14 Déc 2012 - 23:09

xprevious,yprevious sont des variables qui renvoient la position x et y au step précédent.
Quand tu ne sais pas ce genre de choses regarde dans la doc. Là par exemple tu tape xprevious dans l'index et tu peux lire:

"xprevious sa position précédente en x."

_________________
Spoiler:
Revenir en haut Aller en bas
Yautja
Débutant



Messages : 26

Problème de collision. Empty
MessageSujet: Re: Problème de collision.   Problème de collision. EmptySam 15 Déc 2012 - 16:15

je voudrais savoir si plusieurs objet dans une room, qui appartienne a un seul objet(exemple objet_bloc est placé 5 fois dans la room0) peuvent être indépendant les uns des autres
Revenir en haut Aller en bas
D-z
Utilisateur confirmé: Rang *****
D-z


Messages : 1611
Localisation : Montpellier

Problème de collision. Empty
MessageSujet: Re: Problème de collision.   Problème de collision. EmptySam 15 Déc 2012 - 16:46

Ils le sont systématiquement.

_________________
 
Home is not a place, it's a feeling.
Revenir en haut Aller en bas
Yautja
Débutant



Messages : 26

Problème de collision. Empty
MessageSujet: Re: Problème de collision.   Problème de collision. EmptySam 15 Déc 2012 - 17:02

pourquoi alors lorsque je place les objet solides dans la room. quand mon objet chute et qu'il touche un objet solide, il se place sur le premier objet solide placé dans la room ?



Revenir en haut Aller en bas
Yautja
Débutant



Messages : 26

Problème de collision. Empty
MessageSujet: Re: Problème de collision.   Problème de collision. EmptySam 15 Déc 2012 - 18:11

quelqu'un aurait une idée ?
Revenir en haut Aller en bas
D-z
Utilisateur confirmé: Rang *****
D-z


Messages : 1611
Localisation : Montpellier

Problème de collision. Empty
MessageSujet: Re: Problème de collision.   Problème de collision. EmptySam 15 Déc 2012 - 18:46

Parce que tu utilises une instruction du type "objet_sol.y", or objet_sol n'est pas une instance mais un objet. Plutôt que de cracher une erreur, GM fait comme si tu avais appelé l'instance d'objet_sol avec le plus faible ID (donc la première instanciée).

Si tu es dans un event Collide, l'ID de l'objet détecté est dans la variable other. Sinon, tu peux récupérer cet ID en utilisant la fonction instance_place() au lieu de place_meeting(). Elle retourne noone (-4) si aucun objet n'est rencontré.

_________________
 
Home is not a place, it's a feeling.
Revenir en haut Aller en bas
Yautja
Débutant



Messages : 26

Problème de collision. Empty
MessageSujet: Re: Problème de collision.   Problème de collision. EmptySam 15 Déc 2012 - 19:29

meme problème avec instance_place. et si je met y=other.y-32 il fait des bonds.

voici l'url de mon fichier.

http://depositfiles.com/files/urqpvk5cs
Revenir en haut Aller en bas
D-z
Utilisateur confirmé: Rang *****
D-z


Messages : 1611
Localisation : Montpellier

Problème de collision. Empty
MessageSujet: Re: Problème de collision.   Problème de collision. EmptySam 15 Déc 2012 - 19:42

relis mon message... other ne fonctionne comme ça que dans un event Collision. Sinon tu dois récupérer toi-même l'ID de l'autre via instance_place().

_________________
 
Home is not a place, it's a feeling.
Revenir en haut Aller en bas
Yautja
Débutant



Messages : 26

Problème de collision. Empty
MessageSujet: Re: Problème de collision.   Problème de collision. EmptySam 15 Déc 2012 - 20:13

Citation :
relis mon message... other ne fonctionne comme ça que dans un event Collision. Sinon tu dois récupérer toi-même l'ID de l'autre via instance_place().

l'ID de l'autre ?
Revenir en haut Aller en bas
Yautja
Débutant



Messages : 26

Problème de collision. Empty
MessageSujet: Re: Problème de collision.   Problème de collision. EmptyDim 16 Déc 2012 - 14:23

Up
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
Térence


Messages : 2213
Localisation : Oui

Problème de collision. Empty
MessageSujet: Re: Problème de collision.   Problème de collision. EmptyDim 16 Déc 2012 - 14:57

Chaque instance à un id supérieur à 100 000. Tu peux le récupérer grâce à la variable id de chaque objet ou en survolant l'objet dans l'éditeur de room, en bas.
Revenir en haut Aller en bas
Yautja
Débutant



Messages : 26

Problème de collision. Empty
MessageSujet: Re: Problème de collision.   Problème de collision. EmptyDim 16 Déc 2012 - 15:23

Alors je dois récupéré tout les id des objet solide situé dans une room ?

et après je fais

instace_place(...) pour tout les id ?

sa va me prendre une éternité
Revenir en haut Aller en bas
Yautja
Débutant



Messages : 26

Problème de collision. Empty
MessageSujet: Re: Problème de collision.   Problème de collision. EmptyDim 16 Déc 2012 - 17:22

Oui ou non ?
Revenir en haut Aller en bas
D-z
Utilisateur confirmé: Rang *****
D-z


Messages : 1611
Localisation : Montpellier

Problème de collision. Empty
MessageSujet: Re: Problème de collision.   Problème de collision. EmptyDim 16 Déc 2012 - 18:12

Non. instance_place() te retourne l'ID de l'instance à la position spécifiée. Ensuite tu peux l'utiliser.

_________________
 
Home is not a place, it's a feeling.
Revenir en haut Aller en bas
Yautja
Débutant



Messages : 26

Problème de collision. Empty
MessageSujet: Re: Problème de collision.   Problème de collision. EmptyLun 17 Déc 2012 - 10:57

je suis perdu là mort2

est- ce que je peux avoir un exemple s'il vous plait. sa m'aiderais beaucoup.

mon fichier gm6 http://depositfiles.com/files/urqpvk5cs

merci.
Revenir en haut Aller en bas
marty
Utilisateur confirmé: Rang ***
marty


Messages : 697
Projet Actuel : laby-ereinte !

Problème de collision. Empty
MessageSujet: Re: Problème de collision.   Problème de collision. EmptyLun 17 Déc 2012 - 22:02

slt le problème est le script 0

comme déjà dit pour GM tout les objets identiques de la room sont des instances de l'objet autrement dit, le premier crée dans la room est le "vrai"!

j'ai "corriger" ton gmk (bien que je déteste les scripts ect....!)
je prog en icône bref!

attention a l'origine des sprites et récupère l'id des instances(objets) autour de ton héros/player pour programmer des réactions!

http://host-a.net/u/marty/marty.gmk




Revenir en haut Aller en bas
Yautja
Débutant



Messages : 26

Problème de collision. Empty
MessageSujet: Re: Problème de collision.   Problème de collision. EmptyMar 18 Déc 2012 - 12:34

salut,

merci.

mais j'ai seulement game maker 6.

j'ai télécharger une application qui permet de convertir un fichier gmk. en gm6.

mais lorsque j'ouvre le fichier gm6 converti il m'affiche:

Error Loading : File seems to be corrupted

Revenir en haut Aller en bas
Contenu sponsorisé





Problème de collision. Empty
MessageSujet: Re: Problème de collision.   Problème de collision. Empty

Revenir en haut Aller en bas
 
Problème de collision.
Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant
 Sujets similaires
-
» Problème touche appuyée + problème collision + view
» Problème de collision
» probleme de collision
» problème de collision
» problème collision

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Entraide débutants-
Sauter vers: