Effet marrant avec des carrés qui tournent
Publié : dim. 22/juil./2007 18:21
et voilà, c'est tout con mais c'est plutot sympas
en jouant sur les paramètres (taille des carrés, step, angles de rotation) on trouve d'autres trucs cool

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