Sharynn
189

| Posté : 22-12-2021 20:38
Très Juste...
Voici:
void Amos_Loop(void) { int x,y;
//**** OUVERTURE ECRAN INTUITION DE 1024x768 sur affichage de 640x480 Screen_Open(0,1024,768,256,Hires+Laced); // **** CREATION D'UNE GRILLE de 16 sur 16
Ink(5);
for(y=0;y<768;y=y+16) {
_Draw(0,y,1024,y); }
for(x=0;x<1024;x=x+16) { _Draw(x,0,x,768); } // **** BOUCLE DE 0 Ã 300 POUR CREER le DECALAGE SUR X ET Y EN MEME TEMPS
for(y=0;y<300;y=y+1) { Screen_Offset(0,y,y); } }
Le rendu est simple. Les décalages verticaux se font toutes les incrémentations alors que le décalage horizontal se décale seulement toutes les 8 incrémentations en faisant un saut de 8 pixels directement. Le code est en C sous le couvert le l'AmOS4 library. La routine Screen_Offset sortie du module:
void Screen_Offset(int NBSCR,int POSX, int POSY) { if((POSX>=0) && (POSY>=0)) { if(SBase[NBSCR]!=NULL) { #ifdef __amigaos4__ IIntuition->ScreenPosition(SBase[NBSCR],SPOS_ABSOLUTE,-POSX,-POSY,0,0); & nbsp; #else ScreenPosition(SBase[NBSCR],SPOS_ABSOLUTE,-POSX,-POSY,0,0); #endif } } }
Voilou!!-
Projet AmOS4 - Retour vers l'Amos sous OS4...
SAM440EP - A1200 3.1 de base
Message édité par : Sharynn / 22-12-2021 20:39 |