Strumenti Utente

Strumenti Sito


it:ugbasic:user:kw:raster_at
Traduzioni di questa pagina:


ugBASIC Manuale Utente

RASTER AT

SINTASSI

   RASTER AT line WITH label
   RASTER label AT line

SCOPO

L'istruzione RASTER AT imposterà la successiva riga raster di esecuzione per una routine raster. Una routine raster è un piccolo programma o sequenza di istruzioni che utilizza un momento particolare nella visualizzazione dello schermo per essere attivata. Questo è quando il fascio di elettroni (il fascio raster) esegue la scansione dello schermo, riga per riga, per disegnare l'immagine.

Il meccanismo è semplice. Il computer generava un'interruzione (un segnale che interrompeva l'esecuzione del programma principale) ogni volta che il fascio raster raggiungeva la riga specificata in questa istruzione. Quando si verificava l'interruzione, il processore passava l'esecuzione alla routine raster. La routine fa qualcosa direttamente, come modificare la memoria video o i registri. Una volta completata la modifica (utilizzando l'istruzione NEXT RASTER), il processore riprendeva l'esecuzione del programma principale da dove si era interrotta.

Utilizzando questo meccanismo, i programmatori potevano creare grafiche, animazioni e giochi molto semplici, ma spesso sorprendentemente coinvolgenti, considerando le limitazioni hardware dell'epoca. Erano essenziali per creare effetti come lo scorrimento, lo spostamento di sprite sullo schermo, la creazione di effetti di esplosione o deformazione.

Le routine raster offrono un controllo molto preciso sulla generazione delle immagini, consentendo effetti personalizzati e ottimizzati e stimolando la creatività dei programmatori, che hanno potuto inventare nuovi modi per sfruttare il meccanismo per creare effetti visivi innovativi.

ESEMPIO

  RASTER AT #&H42 WITH rasterRoutine
  RASTER AT (rasterLine+1) WITH rasterRoutine

ABBREVIAZIONE

 RstAt

DISPONIBILE SU

  • Commodore 128 (MOS 8502)
  • Commodore 64
  • Commodore VIC-20
  • Commodore 64+REU
  • Commodore PLUS/4

VEDI ANCHE

PROBLEMI?

Se si riscontra un problema nell'utilizzare questo comando, se si ritiene che vi sia un bug oppure che la spiegazione sia poco chiara, è possibile aprire una segnalazione per questa parola chiave su GitHub. Grazie!

POWERED BY