| (calcul pour une collision), 2ème problème ... | |
|
|
Auteur | Message |
---|
Innoson Utilisateur confirmé: Rang ****
Messages : 927 Projet Actuel : Aller voir la bas si jy suis.
| Sujet: (calcul pour une collision), 2ème problème ... Ven 23 Mar 2007 - 15:55 | |
| Voila c'est simple C'est pour un jeu de platforme : les collision sur les bloque lors des déplacement latéralles du joueur, voila le code lorsque l'on appuy sur la touche flèche gauche var i; for (i=0; i<12 ; i+=1) {if place_free( x-3, y-i ) {x-=3; y-=1; break; }}(hitoire de y c'est pour les slopes) voila dans la touche flèche droite c'est pareil sauf que au leiu de fair x-3 sa fait x+3 Et le problème attérvient pendant le jeu, pas un bugg non mais lorsque mon peronnage vien se coller a un mur latérallement, il y a 3 " x" entre le joueur et le mur car, le joueur se déplace seulement si il n'y a rien 3 x plus loing, vue qu'ici il y a un mur sa le stop a 3 x du mur. Mais le problème c'estque si je veut créer des objet plus rapide, il sa calleront par exemple a 10 x du mur. Sa m'embète vraiment avez vous une solution ? PS : si je suprime se bout : << if place_free( x-3, y-i ) >>
sa génèrent tous un tas de problème concernant les slopes et la graviter donc je sais plus quoi fair _________________
tchou tchou motherfucker
Dernière édition par le Ven 23 Mar 2007 - 17:33, édité 1 fois |
|
| |
OKSYD Utilisateur confirmé: Rang *****
Messages : 2302 Localisation : Pioneer 2 Projet Actuel : Hard Pac III
| Sujet: Re: (calcul pour une collision), 2ème problème ... Ven 23 Mar 2007 - 16:00 | |
| Je n'ai pas vraiment compris ton problème : C'est pour que ton perso monte sur des escaliers par exemple? _________________ |
|
| |
Invité Invité
| Sujet: Re: (calcul pour une collision), 2ème problème ... Ven 23 Mar 2007 - 16:12 | |
| Bon c'est vrai qu'avec une boucle for c'est sans doute beaucoup plus inteligent, mais si c'est pour monter une légère pente, voici ce que j'utilise dans mon jeu : - Code:
-
{if not place_free(x+hspeed,y){yup=1 repeat(5){if place_free(x+hspeed,y-yup) {y-=yup} else yup+=1} if not place_free(x+hspeed,y-yup) hspeed=0 yup=0}}
Ici, ça marche pour 6 pixels maximum dans la hauteur avec la vitesse horizontale. |
|
| |
Dan_lizhot Modérateur
Messages : 3463 Projet Actuel : Crypt Of Darkness
| Sujet: Re: (calcul pour une collision), 2ème problème ... Ven 23 Mar 2007 - 16:13 | |
| Bon en voilà un avec un jeu de 2 pixels, c'est un script assez long qui pourrait être optimisé, mais je n'avais que ça en tête pour l'instant - Code:
-
var i; for (i=0; i<12 ; i+=1) { if place_free(x-10, y-i ) { x-=10; y-=i; break; } if not place_free(x-10,y-i) and place_free(x-8,y-i) { x-=8; y-=i; break; } if not place_free(x-10,y-i) and place_free(x-6,y-i) { x-=6; y-=i; break; } if not place_free(x-10,y-i) and place_free(x-4,y-i) { x-=4; y-=i; break; } if not place_free(x-10,y-i) and place_free(x-2,y-i) { x-=2; y-=i; break; } }
Dernière édition par le Ven 23 Mar 2007 - 17:38, édité 1 fois |
|
| |
Invité Invité
| Sujet: Re: (calcul pour une collision), 2ème problème ... Ven 23 Mar 2007 - 16:14 | |
| Presque en même temps |
|
| |
Dan_lizhot Modérateur
Messages : 3463 Projet Actuel : Crypt Of Darkness
| Sujet: Re: (calcul pour une collision), 2ème problème ... Ven 23 Mar 2007 - 16:16 | |
| oui, bon j'ai pas examiné ton code, mais il est pas mal moin long que le mien . Disons qu'il a l'embarra du du choix |
|
| |
Innoson Utilisateur confirmé: Rang ****
Messages : 927 Projet Actuel : Aller voir la bas si jy suis.
| Sujet: Re: (calcul pour une collision), 2ème problème ... Ven 23 Mar 2007 - 16:57 | |
| merci vous 2 :coeur2: :coeur2: _________________
tchou tchou motherfucker |
|
| |
Invité Invité
| Sujet: Re: (calcul pour une collision), 2ème problème ... Ven 23 Mar 2007 - 17:01 | |
| Ah oui et au fait, parce que ça me faisait trop mal, pourquoi faire compliqué quand on peut faire simple :
calculation calcul pour une collision :gniah: |
|
| |
Dan_lizhot Modérateur
Messages : 3463 Projet Actuel : Crypt Of Darkness
| Sujet: Re: (calcul pour une collision), 2ème problème ... Ven 23 Mar 2007 - 17:23 | |
| Alors ça fonctionne je vais essayer de faire un script mieux que celui que j'ai posté pour de future problème du genre. |
|
| |
Innoson Utilisateur confirmé: Rang ****
Messages : 927 Projet Actuel : Aller voir la bas si jy suis.
| Sujet: Re: (calcul pour une collision), 2ème problème ... Ven 23 Mar 2007 - 17:32 | |
| c'est bon mais j'ai un problème lol et la si vous m'aider vous aider tous ceux qui utilise ma platform engine donc se problème ne me concerne pas uniquement ! voila c'es dans l'IA de platforme engine : //0= x a aller //1= y a aller if argument0<=x { if ( distance_to_point(argument0,cible.y)>=32 or collision_line(x,y,argument0,argument1,parent_solid,true,false)) { if not collision_line(x,y,x-1,y,parent_solid,true,false) {pl_move(0.5,180) if random(25)<1 {pl_IA_up()}} else {pl_IA_up()} } else if distance_to_point(argument0,argument1)<32 { if not collision_line(x,y,x+1,y,parent_solid,true,false) {pl_move(0.5,0) if random(10)<1 {pl_IA_up()}} else {if random(10)<1 {pl_IA_up()}} } } else if argument0>x {if ( distance_to_point(argument0,argument1)>=32 or collision_line(x,y,argument0,argument1,parent_solid,true,false)) { if not collision_line(x,y,x+1,y,parent_solid,true,false) {pl_move(0.5,0) if random(25)<1 {pl_IA_up()}} else {pl_IA_up()} } else if distance_to_point(argument0,argument1)<32 { if not collision_line(x,y,x-1,y,parent_solid,true,false) {pl_move(0.5,180) if random(10)<1 {pl_IA_up()}} else {if random(10)<1 {pl_IA_up()}} } } if argument1>y {if random(10)<1 {pl_IA_up()} } sa c'est dans le step event de l'IA, mais le problème majeur, c'est que lorsque l'IA arrive au même x que sont advairsaire, et qu'il est soit au dessus de lui ou au dessous, et bien les 2 IA se regarde mutuellement et ne fond rien, je trouve pas de soluce... au pire faudrais refair le script mais c'est se que j'ai fait plusisuers fois mais j'arrive toujour au même résultat ... je modifirer l'engine en .gm6 si quelqu'un arrive a trouver une soluce Merci _________________
tchou tchou motherfucker |
|
| |
Innoson Utilisateur confirmé: Rang ****
Messages : 927 Projet Actuel : Aller voir la bas si jy suis.
| Sujet: Re: (calcul pour une collision), 2ème problème ... Ven 23 Mar 2007 - 17:45 | |
| je vient de me rendre compte que je pose vraiment trop de questions :p_desole: _________________
tchou tchou motherfucker |
|
| |
notiz85 Utilisateur confirmé: Rang *****
Messages : 2004 Localisation : Vendée Projet Actuel : Moteur d'ombre pour un projet plateforme 2D...
| Sujet: Re: (calcul pour une collision), 2ème problème ... Ven 23 Mar 2007 - 17:47 | |
| - Innoson a écrit:
- je vient de me rendre compte que je pose vraiment trop de questions :p_desole:
Il vaut mieux en poser trop que pas assez! Non? _________________ |
|
| |
Innoson Utilisateur confirmé: Rang ****
Messages : 927 Projet Actuel : Aller voir la bas si jy suis.
| Sujet: Re: (calcul pour une collision), 2ème problème ... Ven 23 Mar 2007 - 18:26 | |
| ouai merci :fier: _________________
tchou tchou motherfucker |
|
| |
master47 Utilisateur confirmé: Rang *****
Messages : 2368 Projet Actuel :
-------------------
> PacWars
> The Perfect Pattern Studio
| Sujet: Re: (calcul pour une collision), 2ème problème ... Ven 23 Mar 2007 - 18:48 | |
| lol bin tu fais juste - Code:
-
var i; for (i=0; position_empty(x-3, y-i ) && i<12; i+=1) { x-=3; y-=i; break; }
|
|
| |
Innoson Utilisateur confirmé: Rang ****
Messages : 927 Projet Actuel : Aller voir la bas si jy suis.
| Sujet: Re: (calcul pour une collision), 2ème problème ... Lun 26 Mar 2007 - 17:37 | |
| je vois pas pourquoi tu parle de y _________________
tchou tchou motherfucker |
|
| |
Contenu sponsorisé
| Sujet: Re: (calcul pour une collision), 2ème problème ... | |
| |
|
| |
| (calcul pour une collision), 2ème problème ... | |
|