Adaptation d'un script GML 8 directions

Voir le sujet précédent Voir le sujet suivant Aller en bas

Normal Adaptation d'un script GML 8 directions

Message par Horowitz le Dim 1 Mar 2015 - 10:00

Salut à tous. Smile
 
Ce topic fait partie de mes « premiers pas » sur ce forum… donc voilà, je l’ai dit. (sourire)
Bref, je travaille sur un petit projet qui demande pas mal d’investissement (en tout cas c’est plutôt fastoche sous GM, je suis pas déçu) sous la version Lite. Smile
 
Pour cela, j’ai trouvé un script gérant les 8 directions plutôt bien écrit et peu compliqué à utiliser, mais qui se limite uniquement aux flèches du clavier… alors que mon projet utilise globalement la souris. Oui, je sais quoi que vous pensez :hap:
 
En bref, si quelqu’un pouvait m’aider à adapter cela à la souris ce serait sympa, parce que je ne sais pas comment modifier cela… (je me concentre plus sur le level-design et le reste que cela)
Voici le script qui gère le clavier:

Code:
[size=15]/* [/size]



[size=15]MOUVEMENTS
X8 PAR STERMIST.R (mouvements)[/size]



[size=15]"a
declarer dans create de l ' objet concerne "[/size]



[size=15] h=0 --> haut[/size]



[size=15] b=0 --> bas[/size]



[size=15] d=0 --> droite[/size]



[size=15] g=0 --> gauche[/size]



[size=15]*/[/size]



[size=15]//argument
0 = vitesse[/size]



[size=15] [/size]



[size=15] // reglage variables pour definition de
movements[/size]



[size=15]if keyboard_check_pressed(vk_up) && h<=b[/size]



[size=15]    {[/size]



[size=15]     h=h+b+1[/size]



[size=15]    }[/size]



[size=15]if keyboard_check_pressed(vk_down) && b<=h[/size]



[size=15]    {[/size]



[size=15]     b=b+h+1[/size]



[size=15]    }[/size]



[size=15]if keyboard_check_pressed(vk_right) && d<=g[/size]



[size=15]    {[/size]



[size=15]     d=d+g+1[/size]



[size=15]    }[/size]



[size=15]if keyboard_check_pressed(vk_left) && g<=d[/size]



[size=15]    {[/size]



[size=15]     g=g+d+1[/size]



[size=15]    }[/size]



[size=15]if keyboard_check_released(vk_up)[/size]



[size=15]h=0[/size]



[size=15]if keyboard_check_released(vk_down)[/size]



[size=15]b=0[/size]



[size=15]if keyboard_check_released(vk_right)[/size]



[size=15]d=0[/size]



[size=15]if keyboard_check_released(vk_left)[/size]



[size=15]g=0[/size]



[size=15]//////////////////////////////////////////////[/size]



[size=15] [/size]



[size=15] [/size]



[size=15]//definitions
des mouvements[/size]



[size=15]if h >
b//HAUT[/size]



[size=15]    [/size][size=15]{[/size]



[size=15]     if g=0
&& d=0 && place_free(x,y-1)//haut seul[/size]



[size=15]        {[/size]



[size=15]        
repeat(argument0) [/size]



[size=15]            if
place_free(x,y-1) y-=1[/size]



[size=15]        [/size][size=15]}[/size]



[size=15]    [/size]



[size=15]    if g>d && place_free(x-1,y-1)//
haut + gauche[/size]



[size=15]        [/size][size=15]{[/size]



[size=15]        
repeat(argument0) [/size]



[size=15]            if
place_free(x-1,y-1)[/size]



[size=15]            {[/size]



[size=15]             
y-=1[/size]



[size=15]             
x-=1[/size]



[size=15]            }[/size]



[size=15]    } [/size]



[size=15]     if d>g
&& place_free(x+1,y-1)// haut + droite [/size]



[size=15]        {[/size]



[size=15]        
repeat(argument0) [/size]



[size=15]            if
place_free(x+1,y-1) [/size]



[size=15]            [/size][size=15]{[/size]



[size=15]             y-=1[/size]



[size=15]             x+=1[/size]



[size=15]            } [/size]



[size=15]    }[/size]



[size=15] }[/size]



[size=15] [/size]



[size=15] [/size]



[size=15]if b > h
// BAS [/size]



[size=15]    {[/size]



[size=15]     if g=0 && d=0 &&
place_free(x,y+1) //bas seul[/size]



[size=15]        [/size][size=15]{[/size]



[size=15]        
repeat(argument0) [/size]



[size=15]          if
place_free(x,y+1) y+=1[/size]



[size=15]        [/size][size=15]}[/size]



[size=15]    [/size]



[size=15]     if g>d && place_free(x-1,y+1)//
bas + gauche[/size]



[size=15]        [/size][size=15]{[/size]



[size=15]         repeat(argument0)
[/size]



[size=15]            if
place_free(x-1,y+1)[/size]



[size=15]            [/size][size=15]{[/size]



[size=15]             y+=1[/size]



[size=15]             x-=1[/size]



[size=15]            }[/size]



[size=15]        } [/size]



[size=15]     if d>g && place_free(x+1,y+1)//
bas + droite [/size]



[size=15]        [/size][size=15]{[/size]



[size=15]        
repeat(argument0) [/size]



[size=15]            if
place_free(x+1,y+1) [/size]



[size=15]            [/size][size=15]{[/size]



[size=15]             y+=1[/size]



[size=15]             x+=1[/size]



[size=15]            } [/size]



[size=15]        }[/size]



[size=15]    }[/size]



[size=15] [/size]



[size=15]if h=0
&& b=0 //DROITE_GAUCHE[/size]



[size=15]    [/size][size=15]{[/size]



[size=15]     if
d>g//droite[/size]



[size=15]        {[/size]



[size=15]        
repeat(argument0) [/size]



[size=15]           if
place_free(x+1,y) x+=1[/size]



[size=15]        }[/size]



[size=15]     if
g>d//gauche[/size]



[size=15]        {[/size]



[size=15]         repeat(argument0)
[/size]



[size=15]           if
place_free(x-1,y) x-=1[/size]



[size=15]        [/size][size=15]}
}[/size]




 
Si quelqu’un pouvait m’aider ce serait superbe ! Smile
Merci beaucoup d’avance ! (en espérant ne pas bider…)




PS : GG au scripteur de ce script, super bien fait.


Horowitz
Petit créateur
Petit créateur

Messages : 86
Pourcentage d'avancement : -5.4

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Normal Re: Adaptation d'un script GML 8 directions

Message par Stermist_R le Dim 1 Mar 2015 - 13:06

Salut ; c'est moi qui est fait ce script , il faudrait que tu m'expliques un peu plus les mouvements que tu souhaite réaliser avec la souris et je veux bien travaillé sur un nouveau script pour t 'aider

Ps:Le script que j 'ai créer pour le déplacement x8 est plutôt simple si tu as des questions envois les moi en mp et je t'expliquerai tout sa
avatar
Stermist_R
Créateur semi-pro
Créateur semi-pro

Messages : 622

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Normal Re: Adaptation d'un script GML 8 directions

Message par Horowitz le Dim 24 Mai 2015 - 18:24

Waaah ça fait un moment que j'ai posté ce topic :noel:
GG pour le script !

Je voudrais quelque chose du genre Age of Empires, (les STR quoi ^^) par exemple si on clique droit sur un endroit de la carte le personnage devra aller directement à cette position, si il y a pas d'obstacle évidemment.

Pour le moment je n'ai pas de questions mais si je m'en pose quelques unes je viendrai te voir pas d'inquiétude Wink

Horowitz
Petit créateur
Petit créateur

Messages : 86
Pourcentage d'avancement : -5.4

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Normal Re: Adaptation d'un script GML 8 directions

Message par Horowitz le Sam 13 Juin 2015 - 14:47

Alors ?

Horowitz
Petit créateur
Petit créateur

Messages : 86
Pourcentage d'avancement : -5.4

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Normal Re: Adaptation d'un script GML 8 directions

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum