
en jouant sur les paramètres (taille des carrés, step, angles de rotation) on trouve d'autres trucs cool
If InitSprite () = 0 Or InitKeyboard()= 0 Or InitSprite3D()=0
MessageRequester ("Erreur", "Impossible d'initialiser directx",#PB_MessageRequester_Ok)
End
EndIf
;---------- Plein écran ----------
#WindowWidth = 640
#WindowHeight = 480
If OpenScreen(#WindowWidth, #WindowHeight, 32, "Yeah !") = 0
MessageRequester ("Erreur", "Impossible d'ouvrir l'écran",#PB_MessageRequester_Ok)
End
EndIf
;----------------------------------
If StartDrawing (ScreenOutput ())
S=30 ; Taille des carrés
Box (0,0, S, S, RGB (0,0,150)) ; Bordure plus foncé
Box (4,4, S-8, S-8, RGB (0,0,200)) ; Intérieur plus clair
StopDrawing ()
EndIf
GrabSprite(1, 0,0, S, S, #PB_Sprite_Texture)
CreateSprite3D(1,1)
FlipBuffers()
Sprite3DQuality(1)
Repeat
ClearScreen (0)
If Start3D()
Sprite3DBlendingMode(5,2)
Angle1.f = Angle1 + 5 ; Angle de rotation du 1er carré en haut à gauche
AngleX.f = Angle1
For x = 0 To (#WindowWidth-S) Step 17
AngleX = AngleX + 10 ; Angle de rotation de chaque carré sur l'axe des x
Angle2.f = AngleX
For y = 0 To (#WindowHeight-S) Step 17
Angle2 + 5 ; Angle de rotation de chaque carré sur l'axe des y
RotateSprite3D(1, Angle2, 0)
DisplaySprite3D(1, x,y, 255)
Next
Next
Stop3D()
EndIf
FlipBuffers ()
;Delay (50)
ExamineKeyboard ()
Until KeyboardPushed (#PB_Key_Escape)
End