| problème solid | |
|
|
Auteur | Message |
---|
Saks Petit bavard
Messages : 59 Projet Actuel : Metroid (GML)
| Sujet: problème solid Sam 10 Sep 2011 - 14:21 | |
| Bonjour j'utilise des tiles et pour que le sprite puisse se déplacer dessus , je met un objet ( rocher ) invisible mais solide en dessous de chaque tiles ou le personnage doit marcher. Mais le problème est que lorsque je test , le sprite passe a travers les rocher lentement. Je ne comprend pas , au début sa marchait mais la , le sprite passe a travers tout doucement. Pouvez m'aidez peut être , merci |
|
| |
M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: problème solid Sam 10 Sep 2011 - 15:01 | |
| ça signifie surement que ton code de gravité est toujours actif...
Il faut indiquer qu'en cas de contact avec un rocher, la gravité est nulle et la vitesse verticale aussi. bref :
if place_meeting(x,y+1,obj_rocher){ gravity=0; vspeed=0; } else{ gravity=2; } |
|
| |
Saks Petit bavard
Messages : 59 Projet Actuel : Metroid (GML)
| Sujet: Re: problème solid Sam 10 Sep 2011 - 15:11 | |
| euh... j'ai copier ce code dans rocher mais la le sprite tombe direct dans le vide |
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: problème solid Sam 10 Sep 2011 - 15:19 | |
| Un probleme de mask peut être ? Toutes les frames/anims de ton sprite on bien le même mask ? (Une bounding box de préférence) |
|
| |
Saks Petit bavard
Messages : 59 Projet Actuel : Metroid (GML)
| Sujet: Re: problème solid Sam 10 Sep 2011 - 16:26 | |
| |
|
| |
M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: problème solid Sam 10 Sep 2011 - 16:31 | |
| - Saks a écrit:
- euh... j'ai copier ce code dans rocher mais la le sprite tombe direct dans le vide
Ce code, c'est pour le joueur. D'ailleurs, copier 'tel quel' un code ne marche jamais. Il faut comprendre et adapter. |
|
| |
rasengan Petit bavard
Messages : 55
| Sujet: Re: problème solid Dim 11 Sep 2011 - 16:21 | |
| est ce que tu a cocher solid ? sinon teste ça - Code:
-
if !place_meeting(x,y+1,Solide) { gravity=1 gravity_direction=270 } else { gravity=0 } EDIT: et si toujours pas esseye dans colision avec ton solid move_contact_solid(direction,maxdir) vspeed=0 maxdir dois etre remplacer pas un nombre moi je met 12 et ça fonctionne nickel |
|
| |
Oculus Utilisateur confirmé: Rang *****
Messages : 1688
| Sujet: Re: problème solid Dim 11 Sep 2011 - 17:53 | |
| Le mieux c'est de faire ça : - Code:
-
//GRAVITE vsp+=1; //la gravité qui se rajoute
repeat(abs(vsp)) // boucle pour la gravité qui se répéte 1*gravité { if (place_free(x,y+1) && vsp>0) // si il y a de place en y+1 et que la gravité est supérieur à zero { y += 1; //on tombe de un y } else if (place_free(x,y-1) && vsp<0) // sinon si il y a de place en y-1 et que la gravité est en dessous de zero { y -= 1;//on monte de 1 y } else {vsp=0; break;} //si aucune de ses conditions est bonne la gravité est mis à zero et on sort de boucle } Comme ça plus de collision illogique, tu rentres souvent dans ton carrelage ? |
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: problème solid Dim 11 Sep 2011 - 17:56 | |
| if (place_free(x,y+sign(vsp)) && vsp>0) y += sign(vsp)
|
|
| |
Spool-Man Bonne participation
Messages : 73 Localisation : Haven Projet Actuel : Chibi Mangaka ! Chibi Land.
| Sujet: Re: problème solid Dim 11 Sep 2011 - 18:49 | |
| c'est dans ton personnage qui est en colision avec le rocher et pas le contraire, non? Oo |
|
| |
Contenu sponsorisé
| Sujet: Re: problème solid | |
| |
|
| |
| problème solid | |
|