| La direction opposée résolu par vitesse négative. | |
|
|
Auteur | Message |
---|
red-error Utilisateur confirmé: Rang ****
Messages : 1015 Projet Actuel :
| Sujet: La direction opposée résolu par vitesse négative. Mer 30 Avr 2008 - 20:07 | |
| Bonjour. J'ai un problème... J'ai une balle qui avance à une certaine vitesse, et des objets (bulles ou ondes de choc). Quand la balle rencontre ces objets: Onglet "move"(eh oui, je reste encore en DndD :fier: ) "move in to the direction of a point: other.x, other.y -abs(speed) Ca marche mais parfois, la balle va dans la direction opposée à la direction opposée, donc vers le centre de l'autre objet...:snif2: Ensuite, j'ai remplacé par le plus simple: - Code:
-
direction=point_direction(other.x,other.y,x,y); Mais là aussi, de temps en temps la balle va vers l'objet. Ensuite, réessais: - Code:
-
direction=(point_direction(x,y,other.x,other.y)+180); Mais le résultat est le même: la plupart du temps la balle rebondis, mais parfois, rarement, la balle va vers l'objet... :snif2:C'est récurrent. Et ça fait un peu de temps que je comprend pas ce problème. J'ai même essayé en disant à la balle d'aller en direction de la bulle et "oh comble" la balle va de temps en temps vers la direction opposée.! Problème qui m'exaspère, je demande de l'aide, svp...
Dernière édition par red-error le Sam 3 Mai 2008 - 15:38, édité 1 fois |
|
| |
GTK *Excellent utilisateur*
Messages : 3959 Localisation : Belgique Projet Actuel :
| Sujet: Re: La direction opposée résolu par vitesse négative. Mer 30 Avr 2008 - 20:44 | |
| direction=(point_direction(x,y,other.x,other.y))+180;
Je sais pas si ça fonctionne mais je comprend pas d'où t'es venu l'idée de le mettre dans les parenthèse ? C'est inscencé. |
|
| |
M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: La direction opposée résolu par vitesse négative. Mer 30 Avr 2008 - 21:01 | |
| problème de collision. Tu testes la collision une fois en contact, donc il se peux que la balle soit un peu trop loin, et que l'objet se trouve derrière lui, entrainant la direction opposée. Faut le faire en gml en testant la collision avec un place_meeting(x+lengthdir_x(speed,direction),y+lengthdir_y(speed,direction),obj_bulle) |
|
| |
red-error Utilisateur confirmé: Rang ****
Messages : 1015 Projet Actuel :
| Sujet: Re: La direction opposée résolu par vitesse négative. Jeu 1 Mai 2008 - 19:56 | |
| - Spoiler:
.Je ne comprend pas bien ce que fait lenghtdir_x et y, mais j'ai compris comment utiliser le script... seulement, je ne pense pas que ce soit lié à ce problème, car: -la bulle fait 64/64 donc 32 de rayon et l'origine au centre, et la balle, même à une vitesse de 4, se comporte parfois bizarrement... Je pense que c'est un problème de concordance avec d'autres action, car - Code:
-
if place_meeting (x+lengthdir_x(speed,direction),y+lengthdir_y(speed,direction),bulle) { with (instance_place(x+lengthdir_x(speed,direction),x+lengthdir_x(speed,direction),bulle)) { other.direction=point_direction(x,y,other.x,other.y); instance_destroy(); } } N'y change rien, ça doit venir d'autre part... Ou de mon code? Que veut dire le composant x/y horizontal/vertical d'un vecteur ? (c'est la définition de lengthdir_x/y dans l'aide gml). Et ça arrive même quand la bulle n'est pas détruite, ça arrive par intermittence, comme si des instances agissaient différemment... J'enlève toutes les autres actions qui n'ont rien à voir pour voir... J'ai dû faire une erreur quelque part comme quand j'avais cru qu'il y avait des objets sans ID dans mon jeu .
J'édite puisqu'on ne m'a pas répondu... J'ai enlevé le maximum d'objets, j'ai le strict nécessaire, 6sprites,7 objets, 1room, et la balle va au centre de la bulle quelle percute toujours juste après avoir touché la raquette qui lui donne juste un mouvement (go in the direction of a point). Le problème à l'air d'être là, je verrai demain ou aujourd'hui. Juste: une balle, une raquette qui lui donne une direction, murs, bulles, objts qui détruisent les bulles, un obj créateur de bulle et le curseur.et la balle. |
|
| |
Malax Utilisateur confirmé: Rang **
Messages : 496 Localisation : Aix-en-Provence Projet Actuel : Lemmings Struggle (abandonné)
| Sujet: Re: La direction opposée résolu par vitesse négative. Jeu 1 Mai 2008 - 23:23 | |
| - Citation :
direction=(point_direction(x,y,other.x,other.y))+180;
Je sais pas si ça fonctionne mais je comprend pas d'où t'es venu l'idée de le mettre dans les parenthèse ? C'est inscencé.
Je confirme c'est la direction opposée à un point, pas plus pas moins. En plus, GM fait bien les choses parce que même en lui donnant une direction de, au hasard, 460 il calcule tout seul l'angle réel... |
|
| |
red-error Utilisateur confirmé: Rang ****
Messages : 1015 Projet Actuel :
| Sujet: Re: La direction opposée résolu par vitesse négative. Sam 3 Mai 2008 - 15:37 | |
| Eurêka! J'ai trouvé! Et ça vient d'autre part...
En fait pour que la balle "rebondisse" contre la raquette je lui mettais l'action DndD "go in to the direction of a point" avec une vitesse négative. Donc elle recule en direction de la raquette.
Mais lors de la collision avec la bulle, je ne change pas la vitesse! Et donc la balle recule en direction opposée à la bulle, ce qui revient à la faire aller vers la bulle. Et la vitesse est sûrement remise au positif avec une colision avec un mur (bounce).
Merci de vos pistes :hehe: ,je me reservirai de ce topic pour d'autres questions...
Dernière édition par red-error le Dim 4 Mai 2008 - 15:23, édité 1 fois |
|
| |
Malax Utilisateur confirmé: Rang **
Messages : 496 Localisation : Aix-en-Provence Projet Actuel : Lemmings Struggle (abandonné)
| Sujet: Re: La direction opposée résolu par vitesse négative. Sam 3 Mai 2008 - 19:35 | |
| Je pense pas que ce soit possible. |
|
| |
red-error Utilisateur confirmé: Rang ****
Messages : 1015 Projet Actuel :
| Sujet: Re: La direction opposée résolu par vitesse négative. Dim 4 Mai 2008 - 15:19 | |
| Essaye! Met un objet qui va à gauche avec une vitesse de 5, puis un event qui lui met une vitesse de -speed ou de -5 , et tu verra qu'il revient à l'envers! Une vitesse négative fait aller dans la direction opposée à la variable "direction"! Pourquoi on me croit pas :snif2: ... :gniah: Non je ne suis pas triste mais je déteste que l'on ne me croit pas quand je pense (je suis sûr!) de dire la vérité...
Dernière édition par red-error le Dim 4 Mai 2008 - 15:22, édité 1 fois (Raison : "on croiT" car comme "il croit".) |
|
| |
Bloue Utilisateur confirmé: Rang **
Messages : 443
| Sujet: Re: La direction opposée résolu par vitesse négative. Dim 4 Mai 2008 - 15:43 | |
| Ben biensur c'est logique .. c'est meme simple.
par exemple un objet qui va vers la gauche a une vitesse de 5 :
-tu met -direction, il va a droite. -tu met - speed il va a droite. -tu met -speed et -direction et la il continue d'aller a gauche :gniah:.
Sa marche avec toute les directions. |
|
| |
M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: La direction opposée résolu par vitesse négative. Dim 4 Mai 2008 - 19:33 | |
| hum... normalement pour des raisons de 'justesse', on laisse la speed positive et on fait varier la direction.... Une speed négative cc'est pas top |
|
| |
Bloue Utilisateur confirmé: Rang **
Messages : 443
| Sujet: Re: La direction opposée résolu par vitesse négative. Dim 4 Mai 2008 - 19:38 | |
| Moi j'utilise tout le temp des -speed^^, mais ta raison vaut mieu utiliser -direction. par exemple si tu met un -speed et que pour que l'objet aille plus vite tu met un speed+=2 ben , deja l'objet ira moins vite et en plus la speed risque de devenir positive et de faire aller l'objet dans la direction opposé a celle que tu veut. |
|
| |
GTK *Excellent utilisateur*
Messages : 3959 Localisation : Belgique Projet Actuel :
| Sujet: Re: La direction opposée résolu par vitesse négative. Dim 4 Mai 2008 - 20:04 | |
| Sinon, tu peux pas faire un truc genre :
speed = speed *( -1)
?
Dernière édition par GTK le Lun 5 Mai 2008 - 17:18, édité 1 fois |
|
| |
Bloue Utilisateur confirmé: Rang **
Messages : 443
| Sujet: Re: La direction opposée résolu par vitesse négative. Dim 4 Mai 2008 - 20:24 | |
| sa sert a quoi de faire speed=speed*1 oÔ
c'est comme speed=speed+0 |
|
| |
jo *Excellent utilisateur*
Messages : 4879 Localisation : CENSURE T_T Projet Actuel : FAC
| Sujet: Re: La direction opposée résolu par vitesse négative. Dim 4 Mai 2008 - 21:25 | |
| |
|
| |
red-error Utilisateur confirmé: Rang ****
Messages : 1015 Projet Actuel :
| Sujet: Re: La direction opposée résolu par vitesse négative. Lun 5 Mai 2008 - 21:51 | |
| Euh, je passe juste pour dire que je suis d'accord que mettre - speed est une erreur, une erreur que je ne ferai plus (sauf pour le faire exprès... ). Ca gâte la programation (sauf si on fait un effet "le player va à l'envers"). (x puissance -1 dont vous parlez?) (et Bloue -direction ne fonctionne pas, c'est direction +180 :non: ...?) J'ai appris / . |
|
| |
Bloue Utilisateur confirmé: Rang **
Messages : 443
| Sujet: Re: La direction opposée résolu par vitesse négative. Mar 6 Mai 2008 - 18:27 | |
| -direction ne marche pas oÔ ? uh je vais essaqyer sur un gm6 et je re |
|
| |
Bloue Utilisateur confirmé: Rang **
Messages : 443
| Sujet: Re: La direction opposée résolu par vitesse négative. Mar 6 Mai 2008 - 18:36 | |
| a ouais c'est direction +180 uhm je me demande pourquoi.
vu que si la direction est de 243 elle devient de 423 et sa correspond a quoi direction 423 ? |
|
| |
nicoulas *Excellent utilisateur*
Messages : 6030 Localisation : Dordogne Projet Actuel : Croustaface Tower Defense
| Sujet: Re: La direction opposée résolu par vitesse négative. Mar 6 Mai 2008 - 18:45 | |
| 423 - 360 = 63 enfin je pense ... |
|
| |
Bloue Utilisateur confirmé: Rang **
Messages : 443
| Sujet: Re: La direction opposée résolu par vitesse négative. Mar 6 Mai 2008 - 18:47 | |
| a gm calcule tout seul les directions |
|
| |
nicoulas *Excellent utilisateur*
Messages : 6030 Localisation : Dordogne Projet Actuel : Croustaface Tower Defense
| Sujet: Re: La direction opposée résolu par vitesse négative. Mar 6 Mai 2008 - 18:53 | |
| sans doute |
|
| |
red-error Utilisateur confirmé: Rang ****
Messages : 1015 Projet Actuel :
| Sujet: Re: La direction opposée résolu par vitesse négative. Mar 6 Mai 2008 - 22:47 | |
| C'est surtout qu'un angle de -90° = 270° = 270°+360° = 270°-360°*... . Tu sait tracer un angle avec une équerre, alors tu doit "voir" où vont les angles. Des tours en plus juste, et au final, c'est simplifié (automatiquement). ( -direction= symétrie orthogonale verticale ou miroir vertical (?))
Ah, les mathématiques... je suis sûr que je n'y connait encore rien... Mais je visualise (bien) . :gniah:
Bon, terminé.
Dernière édition par red-error le Mar 6 Mai 2008 - 22:48, édité 1 fois (Raison : Terminage.) |
|
| |
Contenu sponsorisé
| Sujet: Re: La direction opposée résolu par vitesse négative. | |
| |
|
| |
| La direction opposée résolu par vitesse négative. | |
|