Di più sulle sprite

Quando si esegue GameMaker in modalità avanzata ci sono un certo numero di opzioni avanzate.

imageQuando apri la finestra della sprite appare

C’è un nuovo pulsante Save Sprite.

  • Con questo pulsante puoi salvare la sprite in un formato proprietario.
    Questo formato non salverà soltanto le immagini della sprite ma anche altre impostazioni, come i dati sulle collisioni e l’origine.
  • Il file avrà l’estensione .gmspr.
    Game Maker può aprire questi file ma anche i giochi possono aprirli.

In basso a sinistra puoi specificare l’origine della sprite.

  • Questo è il punto della sprite che corrisponde alla sua posizione nel livello.
  • Quando posizioni un’istanza in un punto particolare, l’origine della sprite è sistemata lì.
  • Di default è l’angolo in alto a sinistra della sprite ma a volte è più conveniente utilizzare il centro (cliccando il pulsanteCenter) oppure altri punti significativi.
  • Puoi anche scegliere un’origine esterna alla sprite.
  • Puoi anche impostare l’origine cliccando su un punto della sprite.
  • L’origine sarà rappresentata con una croce.

Sono molto importanti le opzioni relative al controllo delle collisioni.

  • Ogni volta che due istanze si toccano è generato un evento di collisione.
    Le collisioni sono controllate come segue.
  • Ciascuna sprite ha una maschera.
    Di default corrisponde a tutti i pixel che non sono completamente trasparenti.
  • Quando due pixel delle maschere si sovrappongono viene segnalata una collisione.
  • A volte non vuoi che il controllo di collisione sia così preciso.
    In questi casi, deseleziona Precise collision checking.
    Adesso la mascherà diventa il suo contorno rettangolo, bounding box.
  • Quando una sprite ha sottoimmagini multiple, di default c’è una maschera data dalla combinazione di tutte lesottomaschere.
    Questo dovrebbe essere quello che vuoi normalmente ma in certe situazioni potresti volere che ciascuna sottoimmagine abbia la sua maschera.
    In questo caso seleziona Separate collision masks.

 

Maschere di collisione

Se vuoi comunque maggior controllo sulle maschere di collisione premi il pulsante Modify Mask.

imageSi aprirà la finestra

In alto a sinistra ci sono ancora le informazioni sull’immagine della sprite.

  • Puoi visualizzare le diverse sottoimmagini.
  • Inoltre puoi indicare se visualizzare la maschera di collisione, Show collision mask (di default sì).
    In questo caso, nelle immagini a destra la maschera è visualizzata scura.
    Puoi anche zoomare (ingrandire/rimpicciolire) per avere una visione migliore.

A destra puoi cambiare il contorno, bounding box.

  • Solo i pixel all’interno del contorno saranno utilizzati per la maschera.
  • Il contorno è calcolato, automaticamente, tenendo conto di Alpha tolerance, separato per ogni immagine se si utilizza Separate collision masks.
  • Puoi anche impostarlo all’immagine intera oppure impostarlo manualmente.
  • In quest’ultimo caso puoi specificare tu stesso il contorno.
  • Quando lo imposti su manual puoi anche disegnare il contorno con il pulsante sinistro del mouse sull’immagine, oppure puoi muoverlo con il pulsante destro.
  • Osserva che la maschera appare mentre si disegna, non il contorno!

Below this you can indicate the shape of the mask.

  • Default is precise, pixel-wise collision checking, but you can select here also to use the bounding rectangle, a disk (or ellipse) inside it, or a diamond shape.
  • Rectangles or disks are in many cases better representations of the shape.
  • (Note that the choice has no effect on speed!)


Finally, at the left bottom you can (again) indicate whether or not there should be separate collision masks for all subimages.
(Note that if you set the bounding box manual, a single bounding box will be used for all subimages, regardless of this setting.)

You can also indicate the tolerance with respect to the transparency.

  • With a higher tolerance also pixels that are partially transparent are left outside the mask.
  • This influences both the bounding box (when not set to manual) and the mask for precise collision checking.

È importante decidere con cura sulla maschera di collisione da usare nelle spite.

  • Sebbene precise collision checking potrebbe sembrare la scelta più logica, in molti casi la giocabilità migliora utilizzando bounding boxe oppure disk, oppure maschere che siano più piccole delle sprite.
  • Se vuoi un controllo maggiore sulla maschera, osserva che per gli oggetti puoi specificare una sprite diversa da usare come maschera.
    In questo modo puoi rendere la maschera di collisione completamente indipendente dall’immagine.

Quando avrai finito premi OK.
Se la maschera è stata modificata, nella finestra apparirà la parola Modified per ricordarti che hai modificato qualcosa.