Game Maker forum
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le deal à ne pas rater :
Cartes Pokémon 151 : où trouver le coffret Collection Alakazam-ex ?
Voir le deal

Adaptation d'un script GML 8 directions

2 participants

Aller en bas

Normal Adaptation d'un script GML 8 directions

Message par Horowitz 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.

avatar
Horowitz
Petit créateur
Petit créateur

Messages : 86
Pourcentage d'avancement : -5.4

Revenir en haut Aller en bas

Normal Re: Adaptation d'un script GML 8 directions

Message par Stermist_R 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
Stermist_R
Stermist_R
Créateur semi-pro
Créateur semi-pro

Messages : 622

Revenir en haut Aller en bas

Normal Re: Adaptation d'un script GML 8 directions

Message par Horowitz 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
avatar
Horowitz
Petit créateur
Petit créateur

Messages : 86
Pourcentage d'avancement : -5.4

Revenir en haut Aller en bas

Normal Re: Adaptation d'un script GML 8 directions

Message par Horowitz Sam 13 Juin 2015 - 14:47

Alors ?
avatar
Horowitz
Petit créateur
Petit créateur

Messages : 86
Pourcentage d'avancement : -5.4

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

Revenir en haut

- Sujets similaires

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