[zxspectrum] Re: Demo finale!

  • From: Enrico Maria Giordano <e.m.giordano@xxxxxxxxxxxxxxx>
  • To: zxspectrum@xxxxxxxxxxxxx
  • Date: Tue, 4 Feb 2020 09:57:01 +0100



Il 04/02/2020 02:18, Massimo Raffaele ha scritto:

Dimenticavo: uso della tecnica del preshift per gli sprite. Occupa spazio ma per una demo va bene.

E' una tecnica facile da spiegare a chi, come me, non mastica l/m?

Sì. Praticamente, immagina di aver definito un tuo disegnino (sprite) in memoria con una serie di 1 e 0 (1 per il disegnino e 0 per lo sfondo). Quando trasferisci questo sprite sul video ovviamente dovrai metterlo in un punto preciso della memoria. Ora, se parliamo del singolo carattere non ci sono problemi perché un byte dello sprite va in un byte del carattere e hai finito. Ma se lo sprite deve comparire spostato rispetto al carattere (non alle coordinate 0, 8, 16, 32, etc. ma ad una coordinata qualunque) allora non sarà più sufficiente mettere lo sprite nella memoria video ma bisognerà spostare i singoli bit in modo che vadano alla coordinata giusta. Questo però richiede tempo e quindi ho preferito definire 8 sprite uguali ma già spostati uno rispetto all'altro in modo tale che basta scegliere quello giusto in base alla coordinata e poi copiarlo in memoria. Questa tecnica consente anche l'animazione dello sprite: basta disegnare gli 8 sprite come fotogrammi dell'animazione e il resto è automatico.

Non so se sono stato chiaro.

EMG

http://www.emagsoftware.it
http://www.emagsoftware.it/emgmusic
http://www.emagsoftware.it/spectrum
http://www.emagsoftware.it/tbosg

Other related posts: