Partagez votre expérience de PureBasic avec les autres utilisateurs.
Anonyme
Message
par Anonyme » mer. 11/juil./2007 11:56
Voici une méthode montrant comment animé un sprite3D en changeant les Coordonées UV de se sprite :
j'utilise cet image :
Code : Tout sélectionner
InitSprite() : InitSprite3D() : InitKeyboard()
OpenScreen(800,600,32,"")
Structure vertex
sx.f
sy.f
sz.f
rhw.f
Color.l
specular.l
tu.f
tv.f
EndStructure
Structure PB_Sprite3D
Texture.l
Vertice.vertex[4]
Width.w
Height.w
EndStructure
UsePNGImageDecoder()
LoadSprite(0,"Ring.png",#PB_Sprite_Texture|#PB_Sprite_AlphaBlending)
CreateSprite3D(0,0)
FrameU.f = 0
Repeat
ClearScreen(0)
ExamineKeyboard()
Start3D()
*S.PB_Sprite3D = IsSprite3D(0)
*S\Vertice[0]\sx=0
*S\Vertice[0]\sy=0
*S\Vertice[1]\sx=64
*S\Vertice[1]\sy=0
*S\Vertice[2]\sx=0
*S\Vertice[2]\sy=64
*S\Vertice[3]\sx=64
*S\Vertice[3]\sy=64
*S\Vertice[0]\tu=FrameU
*S\Vertice[0]\tv=0
*S\Vertice[1]\tu=1/4+FrameU
*S\Vertice[1]\tv=0
*S\Vertice[2]\tu=FrameU
*S\Vertice[2]\tv=1
*S\Vertice[3]\tu=1/4+FrameU
*S\Vertice[3]\tv=1
If T.l < ElapsedMilliseconds()
T = ElapsedMilliseconds()+50
FrameU + 1/4
EndIf
If FrameU>1
FrameU=0
EndIf
DisplaySprite3D(0,0,0)
Stop3D()
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)
Dernière modification par Anonyme le mer. 11/juil./2007 12:25, modifié 1 fois.
wolfjeremy
Messages : 1202 Inscription : sam. 31/déc./2005 23:52
Message
par wolfjeremy » mer. 11/juil./2007 12:23
OUai pas mal pour un sonic
Par contre faut remplacer stop3d() par start3d() (le premier)
beauregard
Messages : 1307 Inscription : dim. 08/juil./2007 18:32
Localisation : Toulouse
Message
par beauregard » jeu. 12/juil./2007 10:02
intéressant, et merci !
beauregard
Messages : 1307 Inscription : dim. 08/juil./2007 18:32
Localisation : Toulouse
Message
par beauregard » dim. 29/juil./2007 0:21
Encore une fois, j'ai planché sur ton code comme ce n'est pas mentalement permis, et je n'ai toujours rien compris.
pourrai-tu s'il te plait faire une modification du code, afin d'afficher seulement les 3 premières images, pour que je puisse avoir un élément de comparaison.
Backup
Messages : 14526 Inscription : lun. 26/avr./2004 0:40
Message
par Backup » dim. 29/juil./2007 9:19
Cpl.Bator a écrit : Voici une méthode montrant comment animé un sprite3D en changeant les Coordonées UV de se sprite :
j'utilise cet image :
le lien est mort
Anonyme
Message
par Anonyme » dim. 29/juil./2007 10:37
problème avec purestorage...
beauregard
Messages : 1307 Inscription : dim. 08/juil./2007 18:32
Localisation : Toulouse
Message
par beauregard » dim. 29/juil./2007 11:40
Dobro a écrit : Cpl.Bator a écrit : Voici une méthode montrant comment animé un sprite3D en changeant les Coordonées UV de se sprite :
j'utilise cet image :
le lien est mort
4 images de 64*64, que l'on peut faire soit même, c'est pas grave.
pourrait modifier ton code pour animer seulement les 3 premières images, pitié Cpl.Bator !
Anonyme
Message
par Anonyme » dim. 29/juil./2007 12:48
FrameU + 1/4
par
FrameU + 1/3
Ar-S
Messages : 9540 Inscription : dim. 09/oct./2005 16:51
Contact :
Message
par Ar-S » mer. 27/janv./2010 11:23
L'image n'est plus dispo mais donc j'en déduis que c'était une image "planche" fond transparent de 256 x 64 avec 4 anneaux (de 64) représentant l'animation ?
j'ai bon ?
flaith
Messages : 1487 Inscription : jeu. 07/avr./2005 1:06
Localisation : Rennes
Contact :
Message
par flaith » mer. 27/janv./2010 11:50
Ar-S a écrit : L'image n'est plus dispo mais donc j'en déduis que c'était une image "planche" fond transparent de 256 x 64 avec 4 anneaux (de 64) représentant l'animation ?
j'ai bon ?
héhé, les anneaux sont là :
http://www.purebasic.fr/french/viewtopic.php?f=6&t=7049
Le Soldat Inconnu
Messages : 4312 Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :
Message
par Le Soldat Inconnu » mer. 27/janv./2010 11:51
je n'arrive pas à le faire fonctionner ...
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) ]