salut
je me permets de faire un up de ce sujet, plutôt que d'en recréer un

.
voilà, je recherche 2 fonctions pour les sprite/sprite3D :
- flip/miror : miroir horizontal et/ou vertical)
- color : pouvoir changer la couleur d'un sprite3D (une image png ou jpg pas un sprite fait uniquement de couleur)
J'ai regardé la lib d'Eddy, ainsi que le lib supersprite3D, mais sur la 4.51, les fonctions de mirrorSprite3D() ne marchent plus

.
voici la procedure dans la lib d'Eddy (
http://www.purebasic.fr/english/viewtop ... lit=mirror). j'ai essayé de voir où pouvait être le "bug", mais je n'ai pas trouvé.
Code : Tout sélectionner
ProcedureDLL.b SetSprite3DMirrorMode(Sprite3D, MirrorMode) ;Set 3D sprite mirror mode (returns TRUE if any changes)
Protected *Sprite3D.PB_SPRITE3D=IsSprite3D(Sprite3D)
Protected MirroringChanges.b=0
Protected IsMirrored.b
Protected DoMirroring.b
IsMirrored=*Sprite3D\Vertice[0]\tu>*Sprite3D\Vertice[1]\tu
DoMirroring=1 And MirrorMode & #MirrorSprite3D_Horizontal
If (DoMirroring And IsMirrored=0) Or (DoMirroring=0 And IsMirrored)
MirroringChanges=1
Swap *Sprite3D\Vertice[0]\tu, *Sprite3D\Vertice[1]\tu
Swap *Sprite3D\Vertice[2]\tu, *Sprite3D\Vertice[3]\tu
EndIf
IsMirrored=*Sprite3D\Vertice[0]\tv>*Sprite3D\Vertice[3]\tv
DoMirroring=1 And MirrorMode & #MirrorSprite3D_Vertical
If (DoMirroring And IsMirrored=0) Or (DoMirroring=0 And IsMirrored)
MirroringChanges=1
Swap *Sprite3D\Vertice[0]\tv, *Sprite3D\Vertice[3]\tv
Swap *Sprite3D\Vertice[1]\tv, *Sprite3D\Vertice[2]\tv
EndIf
ProcedureReturn MirroringChanges
EndProcedure
J'ai bien essayé avec transformSprite3D(), mais mais je n'y arrive pas bien, et je trouve que c'est assez galère à utiliser
Quel dommage qu'on ne puisse pas utiliser le zoomSprite3D avec des valeurs négatives, ce serait tellement plus simple !
Connaissez-vous une technique pour faire un miroir d'un sprite ou de changer sa couleur ?
Merci.
EDIT : j'ai trouvé cette lib :
http://www.purearea.net/pb/download/userlibs/Effect.zip
Mais lorsque je tente de l'utiliser, j'ai le message suivant :
missing memory extension.
Visiblement, si j'ai bien compris, cela signifie que cette lib n'es tplus compatible avec PB 4.51, c'est ça ?