Problema buco nero

Hai una curiosità o un problema con Game Maker? Domanda e ti sarà risposto!
Rispondi
Kami_Ender
Membro
Messaggi: 62
Iscritto il: 08/06/2015, 12:18

Problema buco nero

Messaggio da Kami_Ender »

Buonasera ragazzi. Ho un problema: il player che viene attratto da questo buco nero, a volte viene sbalzato fuori e attraversa i muri. Ci sono i check per la collisione (quella base, del platform) ma se vengo sbalzato fuori dal buco nero attraversa lo stesso i muri. Come risolvere?

Codice: Seleziona tutto

// obj sarebbe il buco nero

if(point_distance(x,y,obj.x,obj.y) <= 170)
{
    // Disabilita le variabili dei powerup
    global.powerup = false ;
    global.activate = true ;
    global.teleport = false ;
    global.pow = false ;

    // Setta gravity e gravity_direction
    gravity = 15 ;
    gravity_direction = point_direction(x,y,obj.x,obj.y) ;
    if(place_meeting(x,y,obj))
    {
       // Scala la vita e grazie codice del player poi verrà distrutto
        life -= 10 ;
    }
}

Avatar utente
Vallo92
GMI Advanced
Messaggi: 1508
Iscritto il: 15/07/2011, 20:26
Specialità: Grafico
Uso: GM:Studio 2
Contatta:

Re: Problema buco nero

Messaggio da Vallo92 »

Puoi postare la parte di codice riguardante la collisione con i muri?
-Questi occhiali da sole le stanno benissimo. Vuole provarli con le lenti più scure?
- Si vede che le sto guardando le tette?
- Si
- Allora si

Kami_Ender
Membro
Messaggi: 62
Iscritto il: 08/06/2015, 12:18

Re: Problema buco nero

Messaggio da Kami_Ender »

Fin troppo classica xD

Codice: Seleziona tutto

//Horizontal Collision
if (place_meeting(x+hsp,y,obj_wall))
{
    while(!place_meeting(x+sign(hsp),y,obj_wall))
    {
         x += sign(hsp);
    }
    hsp = 0;
}
x += hsp;
//Vertical Collision
if (place_meeting(x,y+vsp,obj_wall))
{
    while(!place_meeting(x,y+sign(vsp),obj_wall))
    {
         y += sign(vsp);
    }
    vsp = 0;
}
y += vsp; 

Avatar utente
Wolfrost
Membro super
Messaggi: 692
Iscritto il: 03/08/2014, 13:08
Specialità: Programmazione
Uso: GM:Studio 1.4 Pro
Località: Una galassia lontana lontana...
Contatta:

Re: Problema buco nero

Messaggio da Wolfrost »

Perchè usi gravity_direction e gravity quando si vede che stai usando il codice di Shaun Spalding? Il suo codice prevede l'uso di variabili personali sulla gestione della posizione x ed y del player, di conseguenza usando gravity e robe simili crei un bel po' di disordine
Immagine

Immagine

Kami_Ender
Membro
Messaggi: 62
Iscritto il: 08/06/2015, 12:18

Re: Problema buco nero

Messaggio da Kami_Ender »

Grazie ragazzi. Ma quindi come devo fare? :cappa:

Avatar utente
Wolfrost
Membro super
Messaggi: 692
Iscritto il: 03/08/2014, 13:08
Specialità: Programmazione
Uso: GM:Studio 1.4 Pro
Località: Una galassia lontana lontana...
Contatta:

Re: Problema buco nero

Messaggio da Wolfrost »

Beh non sappiamo come hai strutturato il gioco sinceramente... è un platform? Se sì come funziona il buco nero? o.O Riesco ad immaginarmelo meglio in un contesto più top-down 2D, non so se sono chiaro... perchè in quel caso basterebbe un check per il raggio (point_distance) e poi usare move_towards_point() o meglio qualche funzione personalizzata per muovere il pg al centro del buco ma tenere attivi i movimenti.
Immagine

Immagine

Kami_Ender
Membro
Messaggi: 62
Iscritto il: 08/06/2015, 12:18

Re: Problema buco nero

Messaggio da Kami_Ender »

Si è un Platform.
Ho modificato lo step event così:

Codice: Seleziona tutto

/////////////////////////////////////////////
if(point_distance(x,y,obj_blhol.x,obj_blhol.y) <= 170)
{
    global.powerup = false ;
    global.activate = true ;
    global.teleport = false ;
    global.pow = false ;

    move_towards_point(obj_blhol.x,obj_blhol.x,6) ;
    
    if(place_meeting(x,y,obj_blhol))
    {
        life -= 10 ;
    }
}
Obj_blhol(buco nero)
DRAW EVENT

Codice: Seleziona tutto

draw_self() ;
draw_circle(x,y,170,true) ;

Kami_Ender
Membro
Messaggi: 62
Iscritto il: 08/06/2015, 12:18

Re: Problema buco nero

Messaggio da Kami_Ender »

Ma comunque se entro nel raggio d'azione del black hole, move_towards_point mi porta da tutt'altra parte. ;) xD

Solid Snake
GMI Advanced
Messaggi: 2093
Iscritto il: 19/12/2010, 16:17
Specialità: Programmazione
Uso: GM:Studio 1.4 Standard
Contatta:

Re: Problema buco nero

Messaggio da Solid Snake »

Il codice di prima andava bene, semplicemente non devi usare le variabili built-in "gravity" e "gravity_direction", devi fartele tu...
♥♥♥♥♥♥
Immagine
♥♥♥♥♥♥
Spoiler
Immagine

Kami_Ender
Membro
Messaggi: 62
Iscritto il: 08/06/2015, 12:18

Re: Problema buco nero

Messaggio da Kami_Ender »

Grazie :cappa:

Rispondi

Chi c’è in linea

Visitano il forum: Google [Bot] e 21 ospiti