| x,y en fonction de la 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: x,y en fonction de la direction Mar 24 Sep 2013 - 13:41 | |
| Salut, je fais un jeu vue de dessus. les ennemis et le perso s'orientent avec image_angle en fonction de point_direction, pour le perso c'est entre lui et la sourie et pour les ennemis c'est entre eux et le perso. je voudrais que l'ennemi mette un certain temps à s'orienter vers le perso. avec : image_angle=point_direction(x,y,obj_perso.x,obj_perso.y) L'ennemi s'oriente automatiquement vers le perso ce qui rend le jeu trop dur et pas réaliste. J'ai essayé d'incrémenter image_angle d'une petite valeur genre 4 en comparant image_angle avec point_direction mais c'est pas top. J'aimerais savoir également comment je peux récupérer les coordonnés x et y en fonction de la direction. En faite je voudrais faire un collision_line qui s’oriente dans le sens de la direction. Je pensais que c'était avec la fonction lengthdir mais ça marche pas. Ya t'il un calcul à faire ou existe il une fonction ? |
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: x,y en fonction de la direction Mar 24 Sep 2013 - 14:47 | |
| C'est bien lengthdir pour ta ligne de collision. Fait des tests dans un draw avec la ligne affichée tu verras ou c'est que tu te goures.
Pour ton interpolation essaye avec une interpolation cosinus, ça passeras surement mieux.
|
|
| |
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: x,y en fonction de la direction Mar 24 Sep 2013 - 14:59 | |
| Ben oui j'avais essayé en dessinant une ligne mais voila ce que ça donne: " /> dans mon objet pour draw j'ai mis: draw_line(obj_ennemi.x,obj_ennemi.y,obj_ennemi.a,obj_ennemi.b) et dans le step ennemi : a=lengthdir_x(30, direction) b=lengthdir_y(30, direction) |
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: x,y en fonction de la direction Mar 24 Sep 2013 - 16:20 | |
| a = x + lengthdir_x(30, direction) b = y + lengthdir_y(30, direction)
|
|
| |
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: x,y en fonction de la direction Mar 24 Sep 2013 - 16:42 | |
| Mmmm ok je comprend mieux. Merci beaucoup - Citation :
- Pour ton interpolation essaye avec une interpolation cosinus, ça passeras surement mieux.
Tu peux m'en dire un peu plus ? j'ai jamais été très bon en math. |
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: x,y en fonction de la direction Mar 24 Sep 2013 - 16:59 | |
| Interpolation linéaire (plus ou moins ce que t'utilises) : (t-1) * a + t * b
Si t = 0 ça te donne a, si t = 1 ça te donne b, entre 0 et 1 ça te donne les valeurs intermédiaires, de manière linéaire.
L'interpolation cosinus fait la même chose en t=0 et t=1, mais entre les deux c'est plus 'courbé', plus joli: (1 - cos(t * pi))/2
|
|
| |
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: x,y en fonction de la direction Mar 24 Sep 2013 - 17:23 | |
| C'est bien en rapport avec - Citation :
- je voudrais que l'ennemi mette un certain temps à s'orienter vers le perso.
??? Je comprend rien ! suis je con ?? - Citation :
- Interpolation linéaire (plus ou moins ce que t'utilises) :
(t-1) * a + t * b
Moi ce que je faisais c'était un truc genre: if image_angle<point_direction(x,y,obj_perso.x,obj_perso.y) {image_angle+=2} if image_angle>point_direction(x,y,obj_perso.x,obj_perso.y) {image_angle-=2} Mais bon ça marche pas et puis je me suis aperçu que c'était débile. Mais du coup je comprend pas du tout ce que je suis sensé faire de ça (1 - cos(t * pi))/2 Je comprend même pas ce que ça calcul. |
|
| |
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
| Sujet: Re: x,y en fonction de la direction Mar 24 Sep 2013 - 17:35 | |
| Tu peux calculer la différence entre 2 angles avec ce calcul : ((((angle1 - angle2) % 360) + 540) % 360) - 180 (donné par sachem) ; donc après en comparant par rapport à l'angle des ennemis, tu peux facilement trouver si il faut décrémenter l'angle ou l'incrémenter |
|
| |
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: x,y en fonction de la direction Mar 24 Sep 2013 - 17:55 | |
| Merci mais ça me fait un "unexpected symbol" |
|
| |
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
| Sujet: Re: x,y en fonction de la direction Mar 24 Sep 2013 - 17:57 | |
| ah *****, remplace % par mod ; GM le reconnait pas sinon... Désolé :/ |
|
| |
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: x,y en fonction de la direction Mar 24 Sep 2013 - 18:11 | |
| whouuuhou !! parfait ça fonctionne !! Merci beaucoup! |
|
| |
Contenu sponsorisé
| Sujet: Re: x,y en fonction de la direction | |
| |
|
| |
| x,y en fonction de la direction | |
|