Ok, j'explique
Déjà ta boucle est mauvaise, car elle va de 2 en 2 et tu part de 1 à 800, alors que déjà, tu dois soit aller de 1 à 799, soit 1 à 801
Tu passe par des brosses sans utiliser le double buffer en hard (sa doit ramer sévère)
Ensuite, ou est l'accroche de ta brosse?! à droite, au centre...
Pour un effet de zoom, il faut prendre une accroche au centre de l'image pour ensuite faire un zoom.
Ton displaybrush doit donc être au centre :
DisplayBrush(1, #CENTER, #CENTER )
Sa doit être sa si je dis pas de bêtise
Ton format d'écran n'est pas bon en full screen, n'oubli pas que t'es pu sur ECS/OCS/AGA don tes résolutions "Amiga" ne sont plus bonnes surtout en plein écran. Utilise 320x200 à la place des 320x256 (Résolution de PCul maintenant, fini l'exception ... Snif)
Attention à l'appel de function via setinterval, ne jamais mettre les parenthèse
Le set interval permet d'exécuter ta function selon un certain IPS Maxi (ou FPS Maxi)
Attention, la tu ZOOM, si tu faisait l'effet inverse, il ne faut pas oublier d'effacer l'écran sinon sa va faire sale tu fais que les anciennes images plus grandes resterons. La, tu agrandi ton image, donc pas de souci, car l'image précédente sera toujours plus petite que l'image suivante, elle s'écrase au fur et a mesure
AnchorX et AnchorY te serve pour l'accroche.
Bon, essai se code et tiens moi au courant
@SCREEN {Mode = "FullScreen", Width = 320, Height = 200}
@BRUSH 1, "logo01.png"
@BRUSH 2, "logo02.png"
x = 1
y = 1
Function p_scale()
FLIP
For x = 1 to 801
x = x + 2
y = y + 2
ScaleBrush(1, x, y )
DisplayBrush(1,#CENTER,#CENTER,{AnchorX = 0.5, AnchorY = 0.5})
EndFunction
SETINTERVAL (1,p_scale,20)
BEGINDOUBLEBUFFER
Repeat
WaitEvent
Forever