AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le deal à ne pas rater :
Display Star Wars Unlimited Ombres de la Galaxie : où l’acheter ?
Voir le deal

 

 Collision imprécise

Aller en bas 
+3
Devil37
rainbow-eagle
morgan
7 participants
AuteurMessage
morgan
Utilisateur confirmé: Rang *****
morgan


Messages : 1626
Localisation : Montpellier

Collision imprécise Empty
MessageSujet: Collision imprécise   Collision imprécise EmptyMer 9 Juil 2008 - 9:02

bonjour, dans l'event collision with Sol dans ma balle de fusil, je dois executer une action...mais celle la s'exécute un step avant la collision, donc a 40 pixel de la collision, vu que la vitesse de mon sprite est regler a 40 speed! comment faire pour que mon sprite prenne tout le trajet?
Revenir en haut Aller en bas
rainbow-eagle
Débutant
rainbow-eagle


Messages : 19
Projet Actuel : Omicron

Collision imprécise Empty
MessageSujet: Re: Collision imprécise   Collision imprécise EmptyMer 9 Juil 2008 - 10:06

Lorsqu'il y a une collision avec une instance solide (ton sol), la 1ère instance (ta balle) est automatiquement replacée à son ancienne position avant d'executer l'action (cela n'arrive pas avec des instances non-solides).
Je ne pense pas que les variables xprevious et yprevious fonctionnent dans un tel cas, mais un petit bricolage du type
Code:
x=x+hspeed
y=y+vspeed
devrait permettre de replacer la balle à l'emplacement de la collision.
Revenir en haut Aller en bas
morgan
Utilisateur confirmé: Rang *****
morgan


Messages : 1626
Localisation : Montpellier

Collision imprécise Empty
MessageSujet: Re: Collision imprécise   Collision imprécise EmptyMer 9 Juil 2008 - 10:39

oki merci!
Revenir en haut Aller en bas
morgan
Utilisateur confirmé: Rang *****
morgan


Messages : 1626
Localisation : Montpellier

Collision imprécise Empty
MessageSujet: Re: Collision imprécise   Collision imprécise EmptyMer 9 Juil 2008 - 10:42

bon ben sa marche pas... c'est meme pire x(
Revenir en haut Aller en bas
rainbow-eagle
Débutant
rainbow-eagle


Messages : 19
Projet Actuel : Omicron

Collision imprécise Empty
MessageSujet: Re: Collision imprécise   Collision imprécise EmptyMer 9 Juil 2008 - 13:08

L'instance est en fait instantanément replacée à son ancienne position au moment de la collision (cela ne demande même pas un seul step). On ne peux donc pas essayer de la replacer manuellement...
Je ne vois pas trop comment faire mais il existe peut-être un moyen contourné pour que le resultat de ton action soit celui que tu recherches malgré tout. Il faudrait alors que tu décrives ce que tu cherches à faire (ou que quelqu'un qui s'y connait plus que moi intervienne...)
Revenir en haut Aller en bas
Devil37
Utilisateur confirmé: Rang *****
Devil37


Messages : 1815

Collision imprécise Empty
MessageSujet: Re: Collision imprécise   Collision imprécise EmptyMer 9 Juil 2008 - 13:27

Le truc serait de rendre ta balle non-solide, et de travailler les collisions avec les instance_place() et tout le tralala. C'est à dire reprogrammer ton système de collisions :pac_dr:

Donc comme solution il y a mieux :gniah:

Sinon, je ne sais pas si ça va marcher, laisse ta balle solide, met le sprite en mask, et dessine son sprite dans son event draw. Au cas où les collisions serait gérées différemment avec les masks, mais je ne pense vraiment pas p

_________________
Unvanquished Territories, un MMORPG 3D:
Son Blog
Son Forum
Revenir en haut Aller en bas
morgan
Utilisateur confirmé: Rang *****
morgan


Messages : 1626
Localisation : Montpellier

Collision imprécise Empty
MessageSujet: Re: Collision imprécise   Collision imprécise EmptyMer 9 Juil 2008 - 13:29

ma balle est pas solide :gniah:
Revenir en haut Aller en bas
???
Utilisateur confirmé: Rang ****
???


Messages : 1240
Localisation : NLG, 93

Collision imprécise Empty
MessageSujet: Re: Collision imprécise   Collision imprécise EmptyMer 9 Juil 2008 - 22:56

Mais tu peux utiliser lengthdir_x et lengthdir_y, genre :

while (place_free(x+lengthdir_x(1,direction),y+lengthdir_y(1,direction)))
{x+=lengthdir_x(1,direction)
y+=lengthdir_y(1,direction)}


Je sais pas si ça marche j'ai pas testé, juste pondu ça vite fait T_T, mais normalement ça devrait marcher ❓

Le 1 c'est peut être trop peu et ça demanderait bcp à ta connection ou cpu, change ça par 5 ou c'est toi qui voit et ça pourrait être nickel (si ça marche bien sur ^^')

Et pour ceux qui ne comprendraient pas : ce code fait avancer l'objet de 1 dans sa direction, jusqu'à ce qu'il rencontre un objet solide, le tout dans une boucle while (en clair ça va trouver le premier objet solide dans la direction de l'objet).
Revenir en haut Aller en bas
edi9999
Utilisateur confirmé: Rang *****
edi9999


Messages : 2480
Localisation : France
Projet Actuel : theatre flashy

Collision imprécise Empty
MessageSujet: Re: Collision imprécise   Collision imprécise EmptyMer 9 Juil 2008 - 23:07

oui mais ca fait que en un step ca va aller au prochain bloc solide :p_gne:

_________________
Mes tutos sur le site: -Tutoriel débutant- Tutoriel intermédiaire
Venez sur http://gameplay.c.la pour des tutos sur mon site.
Utilisez des hébérgeurs gratuits et sans temps d'attente!:
http://willhostforfood.com/
Revenir en haut Aller en bas
http://gameplay.c.la/
???
Utilisateur confirmé: Rang ****
???


Messages : 1240
Localisation : NLG, 93

Collision imprécise Empty
MessageSujet: Re: Collision imprécise   Collision imprécise EmptyMer 9 Juil 2008 - 23:18

Bah c'est ça normalement, sauf que c'est pas magique, ça pompe en matière de ressources =/
Revenir en haut Aller en bas
Wargamer
*Excellent utilisateur*
Wargamer


Messages : 6938
Projet Actuel : Bataille de cake au fruits

Collision imprécise Empty
MessageSujet: Re: Collision imprécise   Collision imprécise EmptyMer 9 Juil 2008 - 23:58

j'utilise au moin 50 truc comme ca dnas mon jeu et aucun prob de ressource

_________________
Collision imprécise Wargamer3
Règle #1 du CBNA, ne pas chercher à faire dans la subtilité; personne comprend
Revenir en haut Aller en bas
[TheDarkTiger]
Modérateur
[TheDarkTiger]


Messages : 7420
Localisation : Essonne

Collision imprécise Empty
MessageSujet: Re: Collision imprécise   Collision imprécise EmptyJeu 10 Juil 2008 - 0:31

...

noobs...


Code:
if(collision_line(x,y,xprevious,yprevious,obj_sol,1,1)
{
x=xprevious;
y=yprevious;
}

et désolé pour ceux que j'ai offusqués, mais franchement, vos méthodes sont bonnes, mais loooongues à calculer pour le PC ...

_________________
Bonne chance pour vos projets actuels ! Prêt à aider ceux qui en ont besoin ^^
Collision imprécise U3dfr2Collision imprécise Sign l'antique
Bienvenue au 2630eme utilisateur : Mike Kennedy !
Revenir en haut Aller en bas
http://www.tdms.fr
???
Utilisateur confirmé: Rang ****
???


Messages : 1240
Localisation : NLG, 93

Collision imprécise Empty
MessageSujet: Re: Collision imprécise   Collision imprécise EmptyJeu 10 Juil 2008 - 12:05

lol [TDT], ya une parenthèse en trop Razz

Plus sérieusement, oui je sais que ça pompe, seulement c'est pas la même chose ces deux codes (je crois ❓ ) : toi tu détectes une collision, moi je suis déjà dans le cas d'une collision et je vais me coller contre l'objet solide.
Un combiné des deux donne des collisions parfaites et respectées, mais en fait je ne sais pas si c'est bien ce que voulait morgan ❓

EDIT :
A wargamer : ben si, peut être que ton jeu n'est pas très coûteux en terme de ressources, et peut être que tu n'utilise ce genre de code pour trop peu d'objets, mais imagine pour l'ordi calculer une 40 collision en 1 step, le tout dans un jeu qui pompe pas mal, avec des effets et tout, et le tout :gniah: au milieu d'une guerre avec une 20aine de balles toute les 2sec
Dis moi que ça ne pompe pas happy1
Conclusion : [TDT] à raison ^^'


Dernière édition par ??? le Jeu 10 Juil 2008 - 12:16, édité 1 fois
Revenir en haut Aller en bas
edi9999
Utilisateur confirmé: Rang *****
edi9999


Messages : 2480
Localisation : France
Projet Actuel : theatre flashy

Collision imprécise Empty
MessageSujet: Re: Collision imprécise   Collision imprécise EmptyJeu 10 Juil 2008 - 12:16

??? a écrit:
Mais tu peux utiliser lengthdir_x et lengthdir_y, genre :

while (place_free(x+lengthdir_x(1,direction),y+lengthdir_y(1,direction)))
{x+=lengthdir_x(1,direction)
y+=lengthdir_y(1,direction)}



Si tu fais ca, ca va completement bugguer. Ca risque de faire une boucle infinie.

_________________
Mes tutos sur le site: -Tutoriel débutant- Tutoriel intermédiaire
Venez sur http://gameplay.c.la pour des tutos sur mon site.
Utilisez des hébérgeurs gratuits et sans temps d'attente!:
http://willhostforfood.com/
Revenir en haut Aller en bas
http://gameplay.c.la/
???
Utilisateur confirmé: Rang ****
???


Messages : 1240
Localisation : NLG, 93

Collision imprécise Empty
MessageSujet: Re: Collision imprécise   Collision imprécise EmptyJeu 10 Juil 2008 - 12:20

Je ne pense pas non.

J'utilise ça lors d'un event de collision, la balle est en contact avec un objet solide et elle reviens à son x/y_previous avant de faire son action, qui devrait se faire normalement tout près de l'obj solide.

La collision ayant déjà eu lieu, tu peux m'expliquer pourquoi la balle exécuterait une autre trajectoire ? (a moins que j'ai omis un détail ❓ ) (en + [TDT] a dis que nos codes sont bons Razz )
Revenir en haut Aller en bas
edi9999
Utilisateur confirmé: Rang *****
edi9999


Messages : 2480
Localisation : France
Projet Actuel : theatre flashy

Collision imprécise Empty
MessageSujet: Re: Collision imprécise   Collision imprécise EmptyJeu 10 Juil 2008 - 13:05

si tu le places dans l'event de collision,ca marche.

_________________
Mes tutos sur le site: -Tutoriel débutant- Tutoriel intermédiaire
Venez sur http://gameplay.c.la pour des tutos sur mon site.
Utilisez des hébérgeurs gratuits et sans temps d'attente!:
http://willhostforfood.com/
Revenir en haut Aller en bas
http://gameplay.c.la/
???
Utilisateur confirmé: Rang ****
???


Messages : 1240
Localisation : NLG, 93

Collision imprécise Empty
MessageSujet: Re: Collision imprécise   Collision imprécise EmptyJeu 10 Juil 2008 - 13:09

C'est le but, ce code veut juste que lors d'une collision à vitesse élévée avec un solide, l'objet ne soit pas à une grande distance (ici 40) du solide.

Mais je sais toujours pas si on répondu à ses attentes =/
Revenir en haut Aller en bas
Contenu sponsorisé





Collision imprécise Empty
MessageSujet: Re: Collision imprécise   Collision imprécise Empty

Revenir en haut Aller en bas
 
Collision imprécise
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» collision map
» Collision
» collision
» collision
» Collision

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Entraide débutants-
Sauter vers: