merci pour ta rapidité de réponse tout d'abord, et, merci aussi pour ta participation concernant la documentation, ensuite.
J'ai un code effectivement, en espérant qu'il ne soit pas bugué, donc inéquitable.
Les maps I() et I2() sont testées durant le tracé de dessin. Deux valeurs divergentes en millisecondes en haut à gauche de l'écran. Et c'est défavorable pour la map qui a $FFFFFF au lieu de 512 en argument de création:
Code : Tout sélectionner
#AuPif = #PB_Any
Macro Qt:"
EndMacro
Macro _(Method, Arg = )
I(Qt#Method(Arg#)Qt) = Method(Arg)
EndMacro
Macro _2(Method, Arg1, Arg2)
I(Qt#Method(Arg1#)Qt) = Method(Arg1, Arg2)
EndMacro
Macro _3(Method, Arg1, Arg2, Arg3)
I(Qt#Method(Arg1#)Qt) = Method(Arg1, Arg2, Arg3)
EndMacro
Macro _4(Method, Arg1, Arg2, Arg3, Arg4)
I(Qt#Method(Arg1#)Qt) = Method(Arg1, Arg2, Arg3, Arg4)
EndMacro
Macro _5(Method, Arg1, Arg2, Arg3, Arg4, Arg5)
I(Qt#Method(Arg1#)Qt) = Method(Arg1, Arg2, Arg3, Arg4, Arg5)
EndMacro
Macro _6(Method, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6)
I(Qt#Method(Arg1#)Qt) = Method(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6)
EndMacro
Macro _7(Method, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7)
I(Qt#Method(Arg1#)Qt) = Method(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7)
EndMacro
Macro _8(Method, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8)
I(Qt#Method(Arg1#)Qt) = Method(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8)
EndMacro
Macro Alloue:Allocate
EndMacro
Macro Memoire:Memory
EndMacro
Macro Initialise:Init
EndMacro
Macro Lutin:Sprite
EndMacro
Macro Clavier:Keyboard
EndMacro
Macro Souris:Mouse
EndMacro
Macro Bureau:Desktop
EndMacro
Macro Largeur:Width
EndMacro
Macro Hauteur:Height
EndMacro
Macro Profondeur:Depth
EndMacro
Macro Ouvre:Open
EndMacro
Macro Fenetre:Window
EndMacro
Macro Fenetree:Windowed
EndMacro
Macro Ecran:Screen
EndMacro
Macro Efface:Clear
EndMacro
Macro Charge:Load
EndMacro
Macro Police:Font
EndMacro
Macro Echange:Flip
EndMacro
Macro Tampon:Buffer
EndMacro
Global.I NewMap I()
Global.S NewMap S()
Global.I NewMap I2($1000000)
Global.S NewMap S2($1000000)
_(Alloue#Memoire, 32768)
_(Initialise#Lutin)
_(Initialise#Clavier)
_(Initialise#Souris)
_(Examine#Bureau#s)
_(Bureau#Largeur, 0)
_(Bureau#Hauteur, 0)
_(Bureau#Profondeur, 0)
_7(Ouvre#Fenetre, #AuPif, 0, 0, I("DesktopWidth(0)"), I("DesktopHeight(0)"), "", #PB_Window_BorderLess)
FenetreID = WindowID(I("OpenWindow(#AuPif)") )
_8(Ouvre#Fenetree#Ecran, FenetreID, 0, 0, 320, 240, 1, 0, 0)
_3(Charge#Police, #AuPif, "FixedSys", 15)
For A = 1 To 255
CreateImage(A, 16, 16, 32)
s = 16
CreateSprite(A, s, s, #PB_Sprite_AlphaBlending)
StartDrawing(ImageOutput(A) )
DrawingFont(FontID(I("LoadFont(#AuPif)") ) )
DrawText(0, 0, Chr(A), RGBA(255, 255, 255, 255), RGBA(0, 0, 0, 0) )
StopDrawing()
ResizeImage(A, s, s, #PB_Image_Raw)
StartDrawing(SpriteOutput(A) )
DrawImage(ImageID(A), 0, 0)
StopDrawing()
Next
CopyMap(I(), I2() )
Repeat
Delay(16)
ExamineKeyboard()
ExamineMouse()
Efface#Ecran(0)
StartDrawing(ScreenOutput() )
DrawingFont(FontID(I("LoadFont(#AuPif)") ) )
Y = 0
Lap0 = ElapsedMilliseconds()
ForEach I()
DrawText(0, 16 * Y, MapKey(I() ) + " -> " + I(), $FFFFFF, $0)
Y + 1
Next
Lap1 = ElapsedMilliseconds()
ForEach I2()
DrawText(0, 16 * Y, MapKey(I2() ) + " -> " + I2(), $FFFFFF, $0)
Y + 1
Next
Lap2 = ElapsedMilliseconds()
DrawText(0, 0, Str(Lap1 - Lap0) + "ms ")
DrawText(0, 16, Str(Lap2 - Lap1) + "ms ")
StopDrawing()
;DisplaySprite(65, 0, 0)
Echange#Tampon#s()
Until KeyboardPushed(#PB_Key_Escape)