| angle et direction | |
|
|
Auteur | Message |
---|
chopsuey Utilisateur confirmé: Rang ***
Messages : 523 Localisation : saint etienne Projet Actuel : All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
...
| Sujet: angle et direction Ven 17 Fév 2012 - 21:32 | |
| salut, je fait un petit jeux vue de dessus ou l'on dirige un personnage tenant un fling, le perso se dirige en direction du pointeur Z pour avancer et s pour reculer mais j'aimerais que lorsque j'appuie sur Q ou D il ce déplace perpendiculairement à l'axe de la direction vers le pointeur, en gros si le pointeur reste fixe le perso fais un arc de cercle normalement. voila mon code incomplet: speed=0; if keyboard_check(ord('Z')) {speed = 6;} if keyboard_check(ord('S')) {speed = -4;} image_angle=point_direction(x,y,mouse_x,mouse_y); direction= point_direction(x,y,mouse_x,mouse_y) voila je sens que c'est super simple mais je voie pas quoi faire |
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: angle et direction Ven 17 Fév 2012 - 21:55 | |
| Apprend a utiliser les lengthdir. En plus dans GMscr je crois qu'il y a un exemple. |
|
| |
chopsuey Utilisateur confirmé: Rang ***
Messages : 523 Localisation : saint etienne Projet Actuel : All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
...
| Sujet: Re: angle et direction Ven 17 Fév 2012 - 22:10 | |
| dans la doc ya écrit lengthdir_x(len,dir) Retourne le composant x horizontal du vecteur, déterminé par la longueur indiquée et la direction. sa me dit pas comment l'utiliser et je ne retrouve pas cette exemple dan GMscr tu ne pourrait pas compléter mon code stp? |
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: angle et direction Ven 17 Fév 2012 - 23:30 | |
| Ce serais trop simple.
Sache que pour déplacer un objet avec une vitesse v et un angle a il suffit de faire :
x += lengthdir_x(v, a) y += lengthdir_y(v, a)
A toi de trouver la suite :p |
|
| |
chopsuey Utilisateur confirmé: Rang ***
Messages : 523 Localisation : saint etienne Projet Actuel : All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
...
| Sujet: Re: angle et direction Sam 18 Fév 2012 - 2:44 | |
| merci onilink_ j'ai trouvé. |
|
| |
chopsuey Utilisateur confirmé: Rang ***
Messages : 523 Localisation : saint etienne Projet Actuel : All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
...
| Sujet: Re: angle et direction Sam 18 Fév 2012 - 15:24 | |
| voila mon code pour ceux que sa intéresserais :
image_angle=point_direction(x,y,mouse_x,mouse_y)
direction= point_direction(x,y,mouse_x,mouse_y)
speed=0;
if keyboard_check(ord('Z'))
{ x += lengthdir_x(6, direction) y += lengthdir_y(6, direction) }
if keyboard_check(ord('S'))
{ x += lengthdir_x(-3, direction) y += lengthdir_y(-3, direction) }
if keyboard_check(ord('Q')) { x += lengthdir_x(4, direction+90) y += lengthdir_y(4, direction+90) }
if keyboard_check(ord('D')) { x += lengthdir_x(4, direction-90) y += lengthdir_y(4, direction-90) }
Dernière édition par chopsuey le Sam 3 Mar 2012 - 18:54, édité 1 fois |
|
| |
Caly Utilisateur confirmé: Rang ****
Messages : 1285 Localisation : Haute Normandie Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.
| Sujet: Re: angle et direction Mar 21 Fév 2012 - 22:33 | |
| Salut chopsuey, je me suis permis d'optimiser ton code. Il fait exactement la même chose mais il est plus claire, plus court et plus optimisé. - Code:
-
image_angle=point_direction(x,y,mouse_x,mouse_y); direction= image_angle; speed=0;
switch( keyboard_key ){ case ord('Z') : leng=6; dir=0; break; case ord('S') : leng=-3; dir=0; break; case ord('Q') : leng=4; dir=90; break; case ord('D') : leng=4; dir=-90; break; default : leng=0; dir=0; }
if( leng!=0 ){ x+=lengthdir_x(leng, direction+dir); y+=lengthdir_y(leng, direction+dir); } |
|
| |
chopsuey Utilisateur confirmé: Rang ***
Messages : 523 Localisation : saint etienne Projet Actuel : All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
...
| Sujet: Re: angle et direction Sam 3 Mar 2012 - 10:30 | |
| c'est vrai que c'est mieux merci, j'orrai jamais pensé à le faire de cette manière. |
|
| |
Oculus Utilisateur confirmé: Rang *****
Messages : 1688
| Sujet: Re: angle et direction Sam 3 Mar 2012 - 13:30 | |
| Bon je poste aussi mon code comme ça il y aura l’embarras du choix : - Code:
-
image_angle = point_direction(x,y,mouse_x,mouse_y); direction = image_angle;
x += lengthdir_x( keyboard_check(ord("Z"))*6, direction ); y += lengthdir_y( keyboard_check(ord("Z"))*6, direction );
x += lengthdir_x( -keyboard_check(ord("S"))*6, direction ); y += lengthdir_y( -keyboard_check(ord("S"))*6, direction ); x += lengthdir_x( keyboard_check(ord("Q"))*6, direction + 90); y += lengthdir_y( keyboard_check(ord("Q"))*6, direction + 90);
x += lengthdir_x( keyboard_check(ord("D"))*6, direction - 90); y += lengthdir_y( keyboard_check(ord("D"))*6, direction - 90);
|
|
| |
Caly Utilisateur confirmé: Rang ****
Messages : 1285 Localisation : Haute Normandie Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.
| Sujet: Re: angle et direction Sam 3 Mar 2012 - 14:11 | |
| Salut, Là, je suis sur mon gsm donc je n'ai pas les scrolls bars des balises de codes mais à ce que vois tu utilise plusieurs fois des lengthdir et niveau optimisations c'est pas bien du tout. |
|
| |
Oculus Utilisateur confirmé: Rang *****
Messages : 1688
| Sujet: Re: angle et direction Sam 3 Mar 2012 - 14:14 | |
| Ah ouais c'est sur, le tiens reste bien mieux je voulais juste faire un truck en très peu de ligne de code. Edit : Que suis-je bête, évident : - Code:
-
image_angle = point_direction(x,y,mouse_x,mouse_y); direction = image_angle;
x += lengthdir_x( keyboard_check(ord("Z"))*6 + -keyboard_check(ord("S"))*6 + keyboard_check(ord("Q"))*6 + keyboard_check(ord("D"))*6, direction + -keyboard_check(ord("Q"))*90 + keyboard_check(ord("D"))*90); y += lengthdir_y( keyboard_check(ord("Z"))*6 + -keyboard_check(ord("S"))*6 + keyboard_check(ord("Q"))*6 + keyboard_check(ord("D"))*6, direction + -keyboard_check(ord("Q"))*90 + keyboard_check(ord("D"))*90); |
|
| |
Contenu sponsorisé
| Sujet: Re: angle et direction | |
| |
|
| |
| angle et direction | |
|