Page 1 sur 2
RotateSprite3D(j(Ordre(4),i), 269, 0)
Publié : sam. 29/oct./2005 18:57
par kelly
Et oui, une rotation de 0 degré = rotation 269 sous PB... Illogique et angle meme pas rond !!
Publié : sam. 29/oct./2005 19:52
par comtois
tu pourrais illustrer par un exemple ce que tu dis ? je ne comprends pas , j'ai testé par curiosité, et je ne vois rien d'anormal .
Code : Tout sélectionner
InitSprite()
InitKeyboard()
InitSprite3D()
OpenScreen(800,600,32,"Tut Sprite3D et Souris")
;Creation d'une texture
CreateSprite(0,64,64,#PB_Sprite_Texture)
StartDrawing(SpriteOutput(0))
Line(SpriteWidth(0)/2,0,SpriteWidth(0)/2,SpriteHeight(0),RGB(255,255,0))
Line(SpriteWidth(0)/2,0,-SpriteWidth(0)/2,SpriteHeight(0),RGB(255,255,0))
Line(0,SpriteHeight(0)-1,SpriteWidth(0),0,RGB(255,255,0))
FillArea(SpriteWidth(0)/2,SpriteHeight(0)/2,RGB(255,255,0),RGB(255,155,0))
Circle(32,6,3,RGB(255,0,0))
StopDrawing()
CreateSprite3D(0,0)
; Sprite3DQuality(1)
Repeat
FlipBuffers()
ClearScreen(0,0,100)
ExamineKeyboard()
If KeyboardReleased(#PB_Key_F1)
Angle - 10
ElseIf KeyboardReleased(#PB_Key_F2)
Angle + 10
EndIf
;Affiche le sprite 3D
If Start3D()
DisplaySprite3D(0, 400, 300)
RotateSprite3D(0,Angle,0)
Stop3D()
EndIf
StartDrawing(ScreenOutput())
DrawingMode(1)
FrontColor(255,255,255)
Locate(0,0)
DrawText("Touche [F1] décrémente l'angle")
Locate(0,20)
DrawText("Touche [F2] incrémente l'angle")
Locate(0,40)
DrawText("Angle : " + Str(Angle))
StopDrawing()
Until KeyboardPushed(#PB_Key_Escape)
Publié : lun. 31/oct./2005 11:02
par kelly
Et bien, tu n'as qu'a inserer un "Delay(3000)" entre ton flipbuffer et ton clearscreen et tu verras l'original et la copie :
La copie a tourné malgré son degré 0 !
la copie est tordue ! (bien plus visible avec un carré)
Publié : lun. 31/oct./2005 11:14
par Backup
non chez moi ça marche bien !!
d'autre par la deformation est normal ! car les sprite purebasic sont des images !! pas des objets !!
si tu veut un sprite parfait pendant la rotation , il faut lui passer les 8 images precalculées , et afficher ces images en temps voulu !!
c'est plus lourd a gerer, mais ce sera parfait pour eviter les distortions !
d'ailleurs cette technique est employé dans tout les jeux, ou le personnage
est muni d'une animation !!

Publié : lun. 31/oct./2005 11:34
par djes
Ici pas de problème.
Publié : lun. 31/oct./2005 11:39
par Chris
Avec le triangle ou avec un carré, pas de problème chez moi non plus.

Publié : lun. 31/oct./2005 12:17
par kelly
?????
Vous voyez comme moi le triangle point a droite, non ??
Moi, je vois ca mais l'original est un triangle pointe en l'air !!
Publié : lun. 31/oct./2005 12:51
par Chris
Au départ, il est comme ça, après une rotation complète dans un sens comme dans l'autre, il est comme ça aussi, et si on le tourne de 10 degrés dans un sens ou dans l'autre et qu'on ramène à 0, il est toujours comme ça.
Bref, quelle que soit la rotation qu'on lui applique, quand on le remet à 0, il reste conforme à l'original : Pointe en haut!
Tu devrais peut-être faire faire un quart de tour à ton moniteur
Envoie une capture d'écran, parce que je ne vois que deux solutions.
- Soit il n'y a que chez toi que ça ne fonctionne pas.
- Soit on n'a pas compris ce que tu voulais dire
Rajoute ces lignes à la fin de ton code, juste avant le Until.
Code : Tout sélectionner
If KeyboardPushed(#PB_Key_F12)
UsePNGImageEncoder()
ScreenShot = GrabSprite(#PB_Any,0,0,800,600,0)
SaveSprite(ScreenShot,"C:\Image.png",#PB_ImagePlugin_PNG)
EndIf
Publié : lun. 31/oct./2005 13:06
par kelly
Et bin m.... ZUT !! Comment ca se fait que moi, avec un degré 0, je le vois pointe a droite ??????????????????????
http://xmas.free.fr/degre0.bmp
Publié : lun. 31/oct./2005 13:09
par Chris
kelly a écrit :Et bin m.... ZUT !! Comment ca se fait que moi, avec un degré 0, je le vois pointe a droite ??????????????????????
Ben je ne sais pas, mais manifestement, t'as comme un problème

Publié : lun. 31/oct./2005 13:12
par kelly
C''est ce genre de truc que je deteste. Il faut TJR que je choppe des bugs !!
J'espere qu'il y aura un fixe PB !!
ps : j'ai une radeon 9000 pro
Publié : lun. 31/oct./2005 13:38
par djes
Tes pilotes (carte graphique, directx) doivent être hs! C'est incompréhensible ce truc?! Ou alors tu as une ancienne version de Ogre?!
Publié : lun. 31/oct./2005 13:44
par Dr. Dri
Les sprite3D ne passent pas par ogre, je vais tester le machin
[edit]
ati rage pro 128 -> nickel
Dri
Publié : lun. 31/oct./2005 13:48
par kelly
Mon angle de 269° = votre angle de 0° ! =(
Publié : lun. 31/oct./2005 14:32
par kelly
Essayons quelque chose : est ce que avec la compilation du code de comtois sur MA machine, vous voyez le triangle comme moi a l'angle 0 ?
reponse :
http://xmas.free.fr/Angle0.exe
alors ?