[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: