J'ai essayé avec uniquement la première ligne pour tester mais ça chie.
Je me retrouve avec des sprite3D de la taille de mon sprite non clippé.
L'affichage est du coup tout superposé.
Code:
; ------------------------------------------------------------
; Test Font PB 4.60 by Ar-S
; ------------------------------------------------------------
UsePNGImageDecoder()
; --- Sprites ----
Enumeration
#S1
EndEnumeration
Enumeration 1
;Sprite 3D
#S3D_A
#S3D_B
#S3D_C
#S3D_D
#S3D_E
#S3D_F
#S3D_G
#S3D_H
#S3D_I
#S3D_J
#S3D_K
#S3D_L
#S3D_M
#S3D_N
#S3D_O
#S3D_P
#S3D_Q
#S3D_R
#S3D_S
#S3D_T
#S3D_U
#S3D_V
#S3D_W
#S3D_X
#S3D_Y
#S3D_Z
EndEnumeration
Global.i Width, Height, Depth, RefreshRate
Global TailleAlph.i = 128
ClipX = 0
ClipY = 0
If InitEngine3D()
Add3DArchive("Datas", #PB_3DArchive_FileSystem)
InitSprite()
InitSprite3D()
InitKeyboard()
ExamineDesktops()
ExamineScreenModes()
Width = DesktopWidth(0)
Height = DesktopHeight(0)
Depth = DesktopDepth(0)
RefreshRate = DesktopFrequency(0)
Result = OpenScreen(Width, Height, Depth, "Ar-S TEST Font", #PB_Screen_WaitSynchronization, RefreshRate)
Debug Result
ARSfont = LoadSprite(#S1, "datas\ARS_LettresRED.png", #PB_Sprite_Texture|#PB_Sprite_AlphaBlending)
If ARSfont = 0
Debug "Erreur loadsprite 3D"
EndIf
For CLIP = 1 To 8 ; (1ere ligne)
ClipSprite(#S1, ClipX, ClipY, TailleAlph, TailleAlph)
CreateSprite3D(CLIP, #S1)
ClipX + TailleAlph
Next
Sprite3DQuality(1)
;Dimension et données concernant le logo
X3D = 0 ; (Width / 2) - (TailleAlph / 2)
Y3D = 0 ; (Height / 2) - (TailleAlph / 2)
SP = 1
;----------
Repeat
FlipBuffers()
ClearScreen(0)
ExamineKeyboard()
RenderWorld()
;- Mouvement du Logo
If Start3D()
For SP = 1 To 8 ; teste avec la ligne 1
DisplaySprite3D(SP, X3D, Y3D,255)
X3D + TailleAlph
Next
Stop3D()
EndIf
Until KeyboardPushed(#PB_Key_Escape) Or Quit = 1
Else
MessageRequester("Error", "The 3D Engine can't be initialized",0)
EndIf
End