@HuitBit, LSI:
Merci!

En fait, c'est surtout de la 2D (l'axe Y n'est jamais pris en compte): il n'y a que l'affichage qui est en 3D "pour faire joli".
@Beauregard:
Oh, il n'y a que Atan2 en assembleur; le reste, c'est du PB classique.avec tout ces trucs en assembleur ?
Sinon, bravo pour la texture! (une petite remarque toutefois: les roues ont une texture à part; tu ne verras pas le petit logo PureBasic sur les enjoliveurs)
@Comtois:
Ah oui, pour les ElseIf, tu as raison. Je n'y avais pas pensé non plus (décidément...)
Pour ta remarque sur la difficulté de contrôler la voiture: je me suis dit que c'était peut-être dû à la trop grande sensibilité des contrôles; la voiture braque trop vite, ce qui oblige à tourner par petites "touches" rapides du clavier.
En réduisant cette sensibilité:
Code : Tout sélectionner
; LEFT / RIGHT = steering
If KeyboardPushed(#PB_Key_Right)
car(1)\steerangle-(#PI/32)*(speedFactor/80) ; 80 (ou plus) au lieu de 40
If car(1)\steerangle < -#PI/4.0
car(1)\steerangle = -#PI/4.0
EndIf
ElseIf KeyboardPushed(#PB_Key_Left)
car(1)\steerangle+(#PI/32.0)*(speedFactor/80) ; 80 (ou plus) au lieu de 40
If car(1)\steerangle > #PI/4.0
car(1)\steerangle = #PI/4.0
EndIf
Else ...
----------------------------------------------------------------------------------
J'ai apporté quelques modifs' au code:
- Suppression des "findFreeMesh" et consorts au profit de "#PB_any" (merci Comtois!)
- Clarification du code du clavier à l'aide de "ElseIf" (bis!)
- J'ai corrigé (je pense) le bug "Ogre Assertion Failed" dû au timer haute-résolution. Dans certains cas, ce bug se produisait quand le timer revenait à zéro => j'obtenais alors un valeur négative et trop grande. Mais dans certains autres cas, j'obtenais une valeur trop grande et positive (peut-être que j'interprète mal les "LARGE_INTEGER" en sortie du timer

J'ai mis à jour le code dans le premier Post et l'archive .zip.
http://keleb.free.fr/codecorner/downloa ... hysics.zip
J'ai aussi ajouté dans l'archive le .EXE et le tutorial de Marco Monster, pour ceux qui veulent aller plus loin.
A+
