Avatar utente
MrZoT
Newbie
Messaggi: 39
Iscritto il: 06/10/2008, 21:41
Contatta:

Ancorare più oggetti a una view

Messaggio da MrZoT »

Ciao
Mi trovo un pò in difficoltà a creare una barra di interfaccia in basso alla room quando uso le view con abiltato il "following object"
Ho creato un oggetto "interfaccia" (una riquadro in alto in cui segno punteggi ecc) e nell'evento STEP ho inserito:

x= view_xview[0]
y= view_yview[0]

si ottiene una specie di effetto ancoraggio della barra all'angolo in alto a sinistra della finestra
sarebbe un buon risultato, però quando il personaggio si muove e la view si sposta...la barra si muove con un attimo di ritardo e si scentra un pochettino, per poi tornare centrata quando il personaggio si ferma

A cosa è dovuto ciò ???
Agamemnon
Membro super
Messaggi: 948
Iscritto il: 16/04/2006, 15:10
Uso: GM:Studio 2
Località: Aprilia (LT)
Contatta:

Re: Ancorare più oggetti a una view

Messaggio da Agamemnon »

Forse potrebbe dipendere dai movimenti dell'oggetto che deve seguire...
I spostamenti dell'oggetto utilizzano le coordinate oppure lo speed?
Avatar utente
maz85
Admin
Messaggi: 8287
Iscritto il: 07/02/2004, 15:57
Specialità: Nientologo
Località: Oblio
Contatta:

Re: Ancorare più oggetti a una view

Messaggio da maz85 »

MrZoT ha scritto: A cosa è dovuto ciò ???
Prova a disegnare l'interfaccia sull'evento DRAW usando come coordinate la vista... ;) 8)
Avatar utente
MrZoT
Newbie
Messaggi: 39
Iscritto il: 06/10/2008, 21:41
Contatta:

Re: Ancorare più oggetti a una view

Messaggio da MrZoT »

Con DRAW funziona a meraviglia,però ora ho uno sprite, non un oggetto...il che mi rende tutto piu complicato :spat:
Però grazie del consiglio, vedrò di arrangiarmi !
sggsoftware
Membro
Messaggi: 178
Iscritto il: 01/07/2007, 15:09
Uso: GM:Studio 2
Località: Sicilia
Contatta:

Re: Ancorare più oggetti a una view

Messaggio da sggsoftware »

MrZoT ha scritto:Ho creato un oggetto "interfaccia" (una riquadro in alto in cui segno punteggi ecc) e nell'evento STEP ho inserito:

x= view_xview[0]
y= view_yview[0]
Il codice va bene, ma prova a inserirlo nell'evento Draw invece che in Step. Il problema riguarda l'ordine in cui vengono eseguiti gli eventi:
step > vista_segue_oggetto > draw

L'evento Step viene eseguito prima che la vista si centri sull'oggetto, e quindi la barra punteggi si posiziona in base alle coordinate della view dello step PRECEDENTE; questo spiega il ritardo. Ma l'evento Draw, invece, viene eseguito dopo il movimento della view; quindi piazzando lì il codice dovresti risolvere il problema.

Tuttavia, aggiungendo codice nell'evento Draw, lo sprite non verrà più automaticamente disegnato. Questo codice risolve il problema:

Codice: Seleziona tutto

draw_sprite_ext(sprite_index,-1,x,y,image_xscale,image_yscale,image_angle,image_blend,image_alpha);
MrZoT ha scritto:Con DRAW funziona a meraviglia,però ora ho uno sprite, non un oggetto...il che mi rende tutto piu complicato :spat:
In che senso? :shock: Stai usando l'evento Draw, ma si tratta sempre dell'oggetto "interfaccia", no? Tra l'altro credo che l'evento Draw ti servirà in ogni caso per stampare punteggi, barre della vita, eccetera.
Avatar utente
MrZoT
Newbie
Messaggi: 39
Iscritto il: 06/10/2008, 21:41
Contatta:

Re: Ancorare più oggetti a una view

Messaggio da MrZoT »

si in effetti non cambia gran che, ho scritto prima di pensare :lol: è pur sempre lo sprite associato allo stesso oggetto !
comunque grazie per la spiegazione, conoscere con che priorità accadono le cose fà sempre comodo