Comment calculer ceci ?

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
eRz0r
Messages : 30
Inscription : ven. 14/janv./2005 17:42

Comment calculer ceci ?

Message par eRz0r »

J'en reviens avec mon petit jeu de moto en 2D :)

J'avais demandé comment calculer une accélération, pour ça c'est ok ^^ et je remercie ceux qui m'on aidé.

Mais maintenant me voilà que je dois m'attaquer a une autre partie, les wheelings ! Sachant que j'ai 3 sprites, les 2 roues et le cadre de la moto (c'est un scoot mais c'est pareil).

Je n'ai vraimant aucune idée de comment calculer une rotation du cadre autour de la roue arrière :s

J'ai bien essayé avec la fonction rotate et déplacer les coordonnées x et y du cadre en même temps, mais ça foire carrement..

Donc si quelques pouvait-il m'aider ? J'accepte volontier :)

eRz
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

tu voit ton scoot de coté ?

si c'est le cas, voilà la solution

Image

On fait tourner le vélo par rapport au centre de la roue arrière d'un angle a

Image

le centre du vélo passe à la position suivante (par rapport à la roue arrière)

XC2 = XC * cos(a) - YC * sin(a)
YC2 = XC * sin(a) + YC * cos(a)

Idem pour la roue avant
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Torp
Messages : 360
Inscription : lun. 22/nov./2004 13:05

Message par Torp »

J'ai toujours dis qu'on bon dessin valait mieux qu'un long discours... ;)
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

Régis t'habite quel coin :mrgreen:

Vous n'avez que des vélos du début du siècle :jesors: :wink:
Frenchy Pilou
Messages : 2194
Inscription : jeu. 27/janv./2005 19:07

Message par Frenchy Pilou »

De l'utilité du "Savant Cosinus" 8)
Est beau ce qui plaît sans concept :)
Speedy Galerie
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

Mon parrain a des vélos d'avant 1900 (il fait la collection) :roll:
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
eRz0r
Messages : 30
Inscription : ven. 14/janv./2005 17:42

Message par eRz0r »

Merci bcp ;)

eRz
eRz0r
Messages : 30
Inscription : ven. 14/janv./2005 17:42

Message par eRz0r »

Euh derniere question les XR et YR ils deviennent quoi dans le calcule ? :s

eRz
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

C'est le même type de calcul que pour le cadre :D

Bien sur, si tu as la roue avant et arrière à la même hauteur (donc si elle ont la même taille), YR vaut 0 ce qui simplie le calcul

XR2 = XR * cos(a) - YR * sin(a)
YR2 = XR * sin(a) + YR * cos(a)

et si YR = 0

XR2 = XR * cos(a)
YR2 = XR * sin(a)
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
eRz0r
Messages : 30
Inscription : ven. 14/janv./2005 17:42

Message par eRz0r »

Erf je n'arrive vraimant pas a l'insérer dans mon jeu.

Le sprite scoot à les dimensions : 131*91
Le sprite scoot avec les roues donnent : 131*100

et le sprite ROUE est de : 40*40

sachat que mon sprite scoot est positionné à

sx.f=200
sy.f=650

que la roue de derriere est mise à :

sx.f-2
sy.f+61

que la roue de devant est mise à :

sx.f+100
sy.f+61



J'ai essayé ceci :

If KeyboardPushed(#PB_key_left)
sx.f+65 * Cos(1) - sy+50 * Sin(1)
sx.f+65 * Sin(1) + sy+50 * Cos(1)
EndIf

Mais ça deplace le sprite à toute vitesse à la place de lui faire effectuer une rotation :cry:

eRz
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

arf, forcément, tu écrases les positions originales de la roue

et tu ne te bases pas correctement au niveau du repère.

d'abord, il faut positionner tes sprites par rapport à la roue arrière (pas par rapport au cadre)

Pour la moto toujours à l'horizontal

roue arrière
X = -2 + Position de la moto en X
Y = -61 + Position de la moto en Y

roue avant
X = 100 + Position de la moto en X
Y = -61 + Position de la moto en Y

Cadre
X = 0 + Position de la moto en X
Y = 0 + Position de la moto en Y

avec l'angle :
roue arrière (bouge pas)
X = -2 + Position de la moto en X
Y = -61 + Position de la moto en Y

roue avant
X = -2 + Position de la moto en X + 102 * cos(a) - 0 * sin(a)
Y = -61 + Position de la moto en Y + 102 * sin(a) + 0 * cos(a)

Cadre
X = -2 + Position de la moto en X + 2 * cos(a) - 61 * sin(a)
Y = 61 + Position de la moto en Y + 2 * sin(a) + 61 * cos(a)

j'espère ne pas avoir fais d'erreur dans les signes
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Répondre