website logo
Auteur
avatar
Sharynn

Forum » » Création-Développement » » AmOS4


Posté : 22-12-2021 20:38 icone du post

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

Cet article provient de Le site des utilisateurs francophones actuels et futurs d'AmigaOS 4.x
https://amiga-ng.org/viewtopic.php?topic=2039&forum=14