AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment :
Nike : Jusqu’à 50% sur les articles de ...
Voir le deal

 

 collision ennemi GML recovery time

Aller en bas 
3 participants
AuteurMessage
Mister _C
Nouveau



Messages : 5

collision ennemi GML recovery time Empty
MessageSujet: collision ennemi GML recovery time   collision ennemi GML recovery time EmptyVen 17 Juil 2015 - 15: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 - 22:43, édité 1 fois
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
Térence


Messages : 2213
Localisation : Oui

collision ennemi GML recovery time Empty
MessageSujet: Re: collision ennemi GML recovery time   collision ennemi GML recovery time EmptyVen 17 Juil 2015 - 18: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 ****
Asu


Messages : 895

collision ennemi GML recovery time Empty
MessageSujet: Re: collision ennemi GML recovery time   collision ennemi GML recovery time EmptyVen 17 Juil 2015 - 19: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

collision ennemi GML recovery time Empty
MessageSujet: Re: collision ennemi GML recovery time   collision ennemi GML recovery time EmptyLun 20 Juil 2015 - 21:00

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


Messages : 2213
Localisation : Oui

collision ennemi GML recovery time Empty
MessageSujet: Re: collision ennemi GML recovery time   collision ennemi GML recovery time EmptyLun 20 Juil 2015 - 23: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

collision ennemi GML recovery time Empty
MessageSujet: Re: collision ennemi GML recovery time   collision ennemi GML recovery time EmptyMar 18 Aoû 2015 - 20: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é





collision ennemi GML recovery time Empty
MessageSujet: Re: collision ennemi GML recovery time   collision ennemi GML recovery time Empty

Revenir en haut Aller en bas
 
collision ennemi GML recovery time
Revenir en haut 
Page 1 sur 1

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: