image_angle e precise collision
- 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
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?
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?
Schiva 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é?
by Lego: Vado in un bar e faccio "votiamo che quel tizio la in fondo venga buttato fuori", ma perché?
- maz85
- Admin
- Messaggi: 8287
- Iscritto il: 07/02/2004, 15:57
- Specialità: Nientologo
- Località: Oblio
- Contatta:
Re: image_angle e precise collision
Intendevi dire image_angle?BaronVsCorsar ha scritto: Avendo introdotto delle rotazioni con image_alpha
Comunque ho appena provato e la collisione me la sente in base ad image_angle...
Guarda questo: http://gmitalia.altervista.org/altri_fi ... xbaron.gm6
Votate GmItalia nella classifica!
Ultime dal fronte.... notizie e altro sul sito di GmItalia
°Pagina personale: % di sviluppo giochi e altro°
Ultime dal fronte.... notizie e altro sul sito di GmItalia
°Pagina personale: % di sviluppo giochi e altro°
- 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
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:
Questo è quello che può succedere in caso di disperazione causata da "effetto image_alpha"... io ho cominciato così con questo sito:
MILAN FUN CLUB ========= STRUNZ FUN CLUB
- 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
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
basta, demoralizzato mi ritiro...
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
basta, demoralizzato mi ritiro...
Schiva 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é?
by Lego: Vado in un bar e faccio "votiamo che quel tizio la in fondo venga buttato fuori", ma perché?
- maz85
- Admin
- Messaggi: 8287
- Iscritto il: 07/02/2004, 15:57
- Specialità: Nientologo
- Località: Oblio
- Contatta:
Re: image_angle e precise collision
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 ...
Probabilmente è la solita piccola svista che compromette tutto e che non si vede ...
Votate GmItalia nella classifica!
Ultime dal fronte.... notizie e altro sul sito di GmItalia
°Pagina personale: % di sviluppo giochi e altro°
Ultime dal fronte.... notizie e altro sul sito di GmItalia
°Pagina personale: % di sviluppo giochi e altro°
- Homunculus
- Admin
- Messaggi: 6840
- Iscritto il: 25/11/2007, 20:36
- Contatta:
Re: image_angle e precise collision
Odio quando succedono ste cose, postaci magari il sorgente come dice maz o una riproduzione del problema
- 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
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
PS: uso GM7...
vi mando una copia dell'eseguibile con tutti i file esterni necessari... è in fase alpha avanzata, quindi preferisco mandarvelo per PM.
Sto strippando
PS: uso GM7...
Schiva 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é?
by Lego: Vado in un bar e faccio "votiamo che quel tizio la in fondo venga buttato fuori", ma perché?
- 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
doppio post per chiedere se voi avete trovato qualche possibile spiegazione
non dimenticatemi
non dimenticatemi
Schiva 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é?
by Lego: Vado in un bar e faccio "votiamo che quel tizio la in fondo venga buttato fuori", ma perché?
- maz85
- Admin
- Messaggi: 8287
- Iscritto il: 07/02/2004, 15:57
- Specialità: Nientologo
- Località: Oblio
- Contatta:
Re: image_angle e precise collision
La 'retroingegneria' sul tuo progetto è un po' ardua, non riesco a cavare un ragno dal buco.
Ci riprovo.
Risolto, almeno sembra. .
PM.
EDIT: sei riuscito ad apportare la modifica?
Ci riprovo.
Risolto, almeno sembra. .
PM.
EDIT: sei riuscito ad apportare la modifica?
Votate GmItalia nella classifica!
Ultime dal fronte.... notizie e altro sul sito di GmItalia
°Pagina personale: % di sviluppo giochi e altro°
Ultime dal fronte.... notizie e altro sul sito di GmItalia
°Pagina personale: % di sviluppo giochi e altro°
- maz85
- Admin
- Messaggi: 8287
- Iscritto il: 07/02/2004, 15:57
- Specialità: Nientologo
- Località: Oblio
- Contatta:
Re: image_angle e precise collision
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)
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.
Bug di collision_circle??
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)
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.
Bug di collision_circle??
Votate GmItalia nella classifica!
Ultime dal fronte.... notizie e altro sul sito di GmItalia
°Pagina personale: % di sviluppo giochi e altro°
Ultime dal fronte.... notizie e altro sul sito di GmItalia
°Pagina personale: % di sviluppo giochi e altro°
- 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
il mistero si infittisce!
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.
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.
Schiva 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é?
by Lego: Vado in un bar e faccio "votiamo che quel tizio la in fondo venga buttato fuori", ma perché?
- maz85
- Admin
- Messaggi: 8287
- Iscritto il: 07/02/2004, 15:57
- Specialità: Nientologo
- Località: Oblio
- Contatta:
Re: image_angle e precise collision
Colgo l'occasione per uppare l'ultima prova (gm6): http://gmitalia.altervista.org/altri_fi ... rbaron.gm6 (tasto destro, salva)
Votate GmItalia nella classifica!
Ultime dal fronte.... notizie e altro sul sito di GmItalia
°Pagina personale: % di sviluppo giochi e altro°
Ultime dal fronte.... notizie e altro sul sito di GmItalia
°Pagina personale: % di sviluppo giochi e altro°
- 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
Ho scaricato i file versione gm6 di maz , incuriosito dal dilemma.
Ma non ho gm6 registrato quindi niente image_angle per me
Ma non ho gm6 registrato quindi niente image_angle per me
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.Il controllo della collisione con la linea avviene alla pressione del pulsante sinistro del mouse (caso originale) o nello step (caso rettangolo di prova).
Chi c’è in linea
Visitano il forum: Google [Bot] e 160 ospiti