systeme de collision [enfin résolu, probleme de cosinus] Hitskin_logo Hitskin.com

Ceci est une prévisualisation d'un thème de Hitskin.com
Installer le thèmeRetourner sur la fiche du thème



AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  
-35%
Le deal à ne pas rater :
Pack Smartphone Samsung Galaxy A25 6,5″ 5G + Casque Bluetooth JBL
241 € 371 €
Voir le deal

 

 systeme de collision [enfin résolu, probleme de cosinus]

Aller en bas 
AuteurMessage
glcraft
Utilisateur confirmé: Rang *****
glcraft


Messages : 1698
Localisation : Entre l'Espagne, l'Italie, la Suisse, L'allemagne et le RU :P
Projet Actuel : Jeu de survie avancé
||--------

systeme de collision [enfin résolu, probleme de cosinus] Empty
MessageSujet: systeme de collision [enfin résolu, probleme de cosinus]   systeme de collision [enfin résolu, probleme de cosinus] EmptyMer 20 Jan 2010 - 19:54

je voudrai faire un systeme de collision, mais j'y arrive pas gnii

je voudrai une (ou plutôt deux) fonction qui retourne pour vspeed et hspeed

j'ai essayé
Citation :

with (collision_line(x1,y1,x2,y2,disk,1,1))
{
vspeed*=sin(dirmur)
hspeed*=cos(dirmur)
}
dirmur est la direction entre deux point, qui forme un mur entre les deux
et disk est l'objet en action.

je demande ca car je ne peux pas utiliser les objet murs dans ce cas là, donc je ne peux pas utiliser la fonction move_bounds_all.

edit :
j'ai trouvé ceci :

Citation :
raddir=degtorad(point_direction(global.x1,global.y1,global.x2,global.y2))
degdir=point_direction(global.x1,global.y1,global.x2,global.y2)

if sin(raddir)!=0
hspeed=hspeed*sin(raddir)*(-sign(sin(raddir)))

if cos(degdir)!=0
vspeed=vspeed*cos(degdir)*(-sign(cos(degdir)))

c'est améliorer mais c'est toujours pas ca...

edit 2 : c'est bon c'est resolu, mais je ne comprend pas pourquoi le cos de degtorad(270) (pour GM) ne fait pas 0, pour lui c'est 0.00001 (un truc du style...)
n'empeche, j'ai remplacé ca :

Citation :
if cos(degdir)!=0
vspeed=vspeed*cos(degdir)*(-sign(cos(degdir)))
[/quote]

par ca

Citation :
if cos(raddir)>=0.0001 || cos(raddir)<=-0.0001
vspeed=vspeed*cos(raddir)*(-sign(cos(raddir)))

maintenant ca fonctionne Wink
Revenir en haut Aller en bas
http://gameblog49.skyblog.com/
 
systeme de collision [enfin résolu, probleme de cosinus]
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» probleme de collision[resolu] par un mask
» [résolu] Problème depth/collision
» [RESOLU] Problème collision sur GMS...
» probleme collision z [résolu]
» Problème de collision [Isométrie]---[résolu]

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