image_angle e precise collision

Hai una curiosità o un problema con Game Maker? Domanda e ti sarà risposto!
Rispondi
Avatar utente
BaronVsCorsar
GMI VIP
Messaggi: 4699
Iscritto il: 14/02/2004, 12:05
Specialità: Saccenza
Uso: GameMaker 8.1
Località: Ferrara
Contatta:

image_angle e precise collision

Messaggio da BaronVsCorsar »

Stavo tranquillamente usando degli sprite quadrati senza il precise collision checking.
Avendo introdotto delle rotazioni con image_alpha mi sono trovato in difficoltà con le collisioni.
Evidentemente il bounding box non viene ruotato, e per gestire in maniera decente sono passato al precise collision.
Fin qui mi sta abbastanza bene: avrei preferito poter gestire un bounding box ruotato, ma effettivamente sembra logico che con la rotazione si debba dire addio alla collisione "semplificata".

Quello che non capisco è che utilizzando il codice
collision_line(x,y,xx,yy,obj_obstacle_basic,true,true)
arrivo apparentemente ad avere collisioni come se obj_obstacle_basic non fosse ruotato.

Per cercare di capire cosa sta succedendo ho reso graficamente lo stato di collisione avvenuta o meno, e i dubbi sono pochi, sembra che consideri l'istanza di obj_obstacle_basic non ruotata.

Vi risulta qualche cosa del genere?
ImmagineSchiva questo - http:\\baronvscorsar.altervista.org
by Lego: Vado in un bar e faccio "votiamo che quel tizio la in fondo venga buttato fuori", ma perché?

Avatar utente
maz85
Admin
Messaggi: 8287
Iscritto il: 07/02/2004, 15:57
Specialità: Nientologo
Località: Oblio
Contatta:

Re: image_angle e precise collision

Messaggio da maz85 »

BaronVsCorsar ha scritto: Avendo introdotto delle rotazioni con image_alpha
Intendevi dire image_angle?
Comunque ho appena provato e la collisione me la sente in base ad image_angle... :hum:

Guarda questo: http://gmitalia.altervista.org/altri_fi ... xbaron.gm6

Avatar utente
The-Returner Conchiglia
Membro attivo
Messaggi: 370
Iscritto il: 07/08/2008, 13:07
Uso: GM:Studio 2
Località: Fondali sabbiosi
Contatta:

Re: image_angle e precise collision

Messaggio da The-Returner Conchiglia »

Mi sa che ha provato con image_alpha e la collisione non si vedeva proprio.

Questo è quello che può succedere in caso di disperazione causata da "effetto image_alpha"... io ho cominciato così con questo sito:
Immagine
:twisted: MILAN FUN CLUB :twisted: ========= :banana: STRUNZ FUN CLUB :banana:

Avatar utente
BaronVsCorsar
GMI VIP
Messaggi: 4699
Iscritto il: 14/02/2004, 12:05
Specialità: Saccenza
Uso: GameMaker 8.1
Località: Ferrara
Contatta:

Re: image_angle e precise collision

Messaggio da BaronVsCorsar »

ovviamente era image_angle.

il tuo esempio mi lascia basito...
anche provando a mettermi in situazione più simile alla mia (collision controllato nello step, verifica di collisione con un obj parent...) continuava a funzionare come mi aspettavo.
Nel mio programma no! Ho anche creato un oggetto rettangolo (4 linee disegnate e di cui controllo le collisioni) e ho la certezza che collide con il rettangolo circoscritto allo sprite ruotato.
E questo anche controllando la collisione direttamnte con l'id dell'object.
Tutti gli sprite hanno il precise collision checking attivo.

Altre collisioni gestite tra sprite con l'evento collisione funzionano bene con o senza rotazione.

Il controllo della collisione con la linea avviene alla pressione del pulsante sinistro del mouse (caso originale) o nello step (caso rettangolo di prova).

A nessuno viene in mente qualche spiegazione?
Che so... è possibile modificare con il codice il precise collision checking.... o altre spiegazioni del genere.... ovvio, vi chiedo perchè ormai sono basito :shock:

basta, demoralizzato mi ritiro... :amen:
ImmagineSchiva questo - http:\\baronvscorsar.altervista.org
by Lego: Vado in un bar e faccio "votiamo che quel tizio la in fondo venga buttato fuori", ma perché?

Avatar utente
maz85
Admin
Messaggi: 8287
Iscritto il: 07/02/2004, 15:57
Specialità: Nientologo
Località: Oblio
Contatta:

Re: image_angle e precise collision

Messaggio da maz85 »

Postaci il tuo sorgente (solo la parte interessata) e vediamo un attimo.
Probabilmente è la solita piccola svista che compromette tutto e che non si vede :protect: ...

Avatar utente
Homunculus
Admin
Messaggi: 6840
Iscritto il: 25/11/2007, 20:36
Contatta:

Re: image_angle e precise collision

Messaggio da Homunculus »

Odio quando succedono ste cose, postaci magari il sorgente come dice maz o una riproduzione del problema

Avatar utente
BaronVsCorsar
GMI VIP
Messaggi: 4699
Iscritto il: 14/02/2004, 12:05
Specialità: Saccenza
Uso: GameMaker 8.1
Località: Ferrara
Contatta:

Re: image_angle e precise collision

Messaggio da BaronVsCorsar »

non riesco ad isolare il problema, perchè partendo da zero mi funziona.
vi mando una copia dell'eseguibile con tutti i file esterni necessari... è in fase alpha avanzata, quindi preferisco mandarvelo per PM.
Sto strippando :piagne:

PS: uso GM7...
ImmagineSchiva questo - http:\\baronvscorsar.altervista.org
by Lego: Vado in un bar e faccio "votiamo che quel tizio la in fondo venga buttato fuori", ma perché?

Avatar utente
BaronVsCorsar
GMI VIP
Messaggi: 4699
Iscritto il: 14/02/2004, 12:05
Specialità: Saccenza
Uso: GameMaker 8.1
Località: Ferrara
Contatta:

Re: image_angle e precise collision

Messaggio da BaronVsCorsar »

doppio post per chiedere se voi avete trovato qualche possibile spiegazione :amen:

non dimenticatemi :paura:
ImmagineSchiva questo - http:\\baronvscorsar.altervista.org
by Lego: Vado in un bar e faccio "votiamo che quel tizio la in fondo venga buttato fuori", ma perché?

Avatar utente
maz85
Admin
Messaggi: 8287
Iscritto il: 07/02/2004, 15:57
Specialità: Nientologo
Località: Oblio
Contatta:

Re: image_angle e precise collision

Messaggio da maz85 »

La 'retroingegneria' sul tuo progetto è un po' ardua, non riesco a cavare un ragno dal buco.
Ci riprovo.

Risolto, almeno sembra. :hum:.

PM.

EDIT: sei riuscito ad apportare la modifica?

Avatar utente
maz85
Admin
Messaggi: 8287
Iscritto il: 07/02/2004, 15:57
Specialità: Nientologo
Località: Oblio
Contatta:

Re: image_angle e precise collision

Messaggio da maz85 »

Sono appena tornato e ho fatto 2 prove... in effetti il bbox viene ruotato assieme allo sprite quindi non taglia fuori nulla e non riesco più a spiegarmi perchè nel tuo progetto ciò non accadeva. Sul tuo progetto (precisely o meno) DOVEVA funzionare perfettamente, mentre funziona bene solo allargando lo sprite, anche se teoricamente non dovrebbe influire.
Quindi l'incorretto rilevamento dove ha origine?

Ho riprovato con il tuo esempio originale:
- il camminare addosso segue la forma dell'oggetto in base alla rotazione;
- il cerca_item non tiene conto della rotazione.

Esempio con sprite allargato, precise on, bbox automatico su figura:
- il camminare addosso segue la forma dell'oggetto in base alla rotazione;
- il cerca_item rileva perfettamente in base alla rotazione;

Allora ho guardato scrpt_handle_item e c'è un collision circle.
Inserisco un controllo left mouse click + collision circle sul mio esempio impostando lo sprite come da tuo originale e... non mi rileva la rotazione! (con collision line si) :shock:
In pratica mi rileva l'oggetto come se non fosse ruotato.

Ora proviamo invece allargando lo sprite e selezionando al suo interno una bbox (come automatica)... e funge perfettamente. :hum:

Bug di collision_circle??

Avatar utente
BaronVsCorsar
GMI VIP
Messaggi: 4699
Iscritto il: 14/02/2004, 12:05
Specialità: Saccenza
Uso: GameMaker 8.1
Località: Ferrara
Contatta:

Re: image_angle e precise collision

Messaggio da BaronVsCorsar »

il mistero si infittisce! :amen:

infatti se ricordo nel mio progetto esisteva l'oggetto di prova per il debug (un quadrato, i cui quattro lati venivano da dei collision_line) e si comportava come il collision circle, cioè male... (pareva che l'oggetto non fosse ruotato).

Altri hanno avuto esperienza analoghe?

Tutti i miei test li ho fatti con GM7.
ImmagineSchiva questo - http:\\baronvscorsar.altervista.org
by Lego: Vado in un bar e faccio "votiamo che quel tizio la in fondo venga buttato fuori", ma perché?

Avatar utente
maz85
Admin
Messaggi: 8287
Iscritto il: 07/02/2004, 15:57
Specialità: Nientologo
Località: Oblio
Contatta:

Re: image_angle e precise collision

Messaggio da maz85 »

Colgo l'occasione per uppare l'ultima prova (gm6): http://gmitalia.altervista.org/altri_fi ... rbaron.gm6 (tasto destro, salva)

Avatar utente
civic71
GMI Advanced
Messaggi: 2210
Iscritto il: 23/10/2003, 17:31
Specialità: Risotto con zucchine
Uso: GM:Studio 1.4 Pro
Località: Jesolo (venezia)
Contatta:

Re: image_angle e precise collision

Messaggio da civic71 »

Ho scaricato i file versione gm6 di maz , incuriosito dal dilemma.
Ma non ho gm6 registrato quindi niente image_angle per me :spat:
Il controllo della collisione con la linea avviene alla pressione del pulsante sinistro del mouse (caso originale) o nello step (caso rettangolo di prova).
:fapensare: Secondo me doversti provare ad aggiungere un object con uno sprite pari a 1x1 pixel il quale segue il mouse.E definire la collisione a quest' ultimo.

Rispondi

Chi c’è in linea

Visitano il forum: Google [Bot] e 160 ospiti