AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  Connexion  

Partagez | 
 

 collision ennemi GML recovery time

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Mister _C
Nouveau


Messages : 5

MessageSujet: collision ennemi GML recovery time   Ven 17 Juil 2015 - 13:32

Bonjour,
Ok désolé pour la manière d'écrire j'essaie de recommencer je réédite.

J'ai encore un nouveau problème avec mon script. Cette fois il s'agit d'un soucis de collision avec l'ennemi. A chaque collision avec un ennemi j'aimerai que mon personnage recule d'une certaine distance cependant mon script ne fonctionne pas:

direc=1 signifie que le contacte se fait par la droite et direc=0 signifie que le contacte se fait par la gauche.

Dans step perso

Code:


if direc=1
{
       if place_meeting(x+1,y,ennemi) or place_meeting(x,y,ennemi)
                    {
                         move_towards_point(x-3,y,6)
                     }
       if place_meeting(x-3,y,ennemi)
                       speed=0
                      
}


if direc=0
{
       if place_meeting(x-1,y,ennemi) or place_meeting(x,y,ennemi)
                    {
                         move_towards_point(x+3,y,6)
                     }
       if place_meeting(x+3,y,ennemi)
                       speed=0
                      
}



ou

Code:


if direc=1
{
       if place_meeting(x+1,y,ennemi) or place_meeting(x,y,ennemi)
                    {
                         move_towards_point(x-3,y,6)
                     }
       else
                       speed=0
 
}


if direc=0
{
       if place_meeting(x-1,y,ennemi) or place_meeting(x,y,ennemi)
                    {
                         move_towards_point(x+3,y,6)
                     }
       else
                       speed=0

}



dans le premier code le premier script mon personnage est repoussé indéfiniment et dans le dernier script mon personnage est repoussé à une distance qui est trop petit, il reste très proche de l'ennemi(il reste collé).
J'ai essayé de le corrigé avec le script suivant, mais il présente le même problème que le premier script:

Code:

if direc=1
{
       if place_meeting(x+1,y,ennemi) or place_meeting(x,y,ennemi)
                    {
                      id_ennemi=instance_place(x+1,y,ennemi)
                      move_towards_point(id_ennemi.x-2,y,7)  
                     }
}


if direc=0
{
       if place_meeting(x-1,y,ennemi) or place_meeting(x,y,ennemi)
                    {
                      id_ennemi=instance_place(x-1,y,ennemi)
                      move_towards_point(id_ennemi.x+2,y,7)
                     }
      
}

Si quelqu'un pourrait encore m'aider à compléter ce script, le corrigé ou m'en donner un qui fonctionne. Merci happy1


Dernière édition par Mister _C le Ven 17 Juil 2015 - 20:43, édité 1 fois
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
avatar

Messages : 2213
Localisation : Oui

MessageSujet: Re: collision ennemi GML recovery time   Ven 17 Juil 2015 - 16:41

Je t'aiderais avec plaisir mais en l'état c'est illisible... oO

Utilise la balise <code> </code> en remplaçant les chevrons par des crochets, ca te permet de garder l'indentation, c'est les tabulations et autres espaces...
Ta facon d'écrire du code est tout sauf standard, c'est dégueulasse...

Généralement, on fait de cette façon :
Code:
if(foo){
    bar();
}

ou :

Code:
if(foo)
{
    bar();
}

ou :
Code:
if(foo)
    {
    bar();
    }

Bref, ia pleins de façon mais j'ai jamais la tienne.
Et quand derrière ta condition ia qu'une seule ligne de code, t'as pas besoin de mettre les accolades.

Donc bref si tu veux bien éditer ^^

_________________
Je suis partie sur les ailes du vent et la tempête m'a ramenée.
Revenir en haut Aller en bas
Asu
Utilisateur confirmé: Rang ****
avatar

Messages : 895

MessageSujet: Re: collision ennemi GML recovery time   Ven 17 Juil 2015 - 17:07

Code:
if (foo)
{
    bar();
}

est mon favori et celui de beaucoup de devs

_________________
‎<‎Cysteine‎>‎ nON mais la touche maj s'active/se désactive toute seule
‎<‎Cysteine‎>‎ et a du mal à réponDRE QUANd j'appuie dessus
‎<‎Cysteine‎>‎ et je l'ai démont2? IL Ny a rien DEDANs
Revenir en haut Aller en bas
Mister _C
Nouveau


Messages : 5

MessageSujet: Re: collision ennemi GML recovery time   Lun 20 Juil 2015 - 19:00

quelqu'un?
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
avatar

Messages : 2213
Localisation : Oui

MessageSujet: Re: collision ennemi GML recovery time   Lun 20 Juil 2015 - 21:14

T'aurais dû upper plus tôt, on voit pas sinon.
Donc effectivement c'est beaucoup plus lisible mais ca me parait bien compliqué. Pourquoi tu tiens compte de la direction du joueur ? Dans tous les cas le joueur doit reculer au coté opposé ou ia un ennemi, nan ?
Donc si c'est ca, pas besoin de move towards et tout le bordel, suffit de vérifier si ia un ennemi en x+1, si c'est le cas tu fais x-=16 par exemple, et pareil en inversant les signes pour que ca marche dans tous les sens.

_________________
Je suis partie sur les ailes du vent et la tempête m'a ramenée.
Revenir en haut Aller en bas
Mister _C
Nouveau


Messages : 5

MessageSujet: Re: collision ennemi GML recovery time   Mar 18 Aoû 2015 - 18:50

je vais essayer merci

PS:désolé d'avoir été si long à répondre j'étais absent
Revenir en haut Aller en bas
Contenu sponsorisé




MessageSujet: Re: collision ennemi GML recovery time   

Revenir en haut Aller en bas
 
collision ennemi GML recovery time
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Quite cute: ral quite cute, play time & candy yum yum
» Dramatique collision entre un roulier et un porte-conteneurs
» L'amour es la seule force capable de transformer un ennemi, en ami..!
» Aide au sujet de la collision du ESSO BRUSSELS en 1973
» SWAP Apéro Time

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: