Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mensajes - MateG_

16
Preguntas y respuestas / Re:Mapa estilo "Metroidvania"
Octubre 27, 2017, 02:17:37 AM
17
Preguntas y respuestas / Mapa estilo "Metroidvania"
Octubre 25, 2017, 01:54:28 AM
Buenas! Vengo con la duda de cómo se puede hacer un minimapa que muestre, por ejemplo, las habitaciones que falten explorar y en la que ya te encuentres, como en los típicos. Más puntualmente la pregunta sería, ¿lo tengo que hacer manualmente mediante algún objecto que dibuje rectángulos con la forma de las habitaciones pero que yo tenga que darles esa forma, y que según en que habitación te encuentres ponga una de esas representaciones en el centro?, o si por el contrario existe alguna forma de dibujar las habitaciones y que tome la forma de estas automaticamente.

Espero que se entienda y que me puedan brindar su ayuda y conocimiento. Desde ya muchas gracias.  :)

Ejemplo:

https://imgur.com/a/25r8H
18
Podrías probar directamente usando un place_meeting en la x y la y del objeto y eligiendo como objeto a comprobar al jugador, lo que comprobará si la mascara de colisión del objeto entra en contacto con la del jugador, así:


if place_meeting(x,y,objectJugador)
{
        if (bandera)
        {
            alarm[1]=1;
            bandera = false;
        }
}


Si no quieres que sea necesario que el jugador entre en contacto con el objeto también podrías usar un collision_rectangle, así:


if collision_rectangle(x-(cantidad de píxeles que quieras hacia la izquierda),y-(cantidad de píxeles que quieras hacia arriba),x+(cantidad de píxeles que quieras hacia la derecha),y+(cantidad de píxeles que quieras hacia abajo),objectPlayer)
{
        if (bandera)
        {
            alarm[1]=1;
            bandera = false;
        }
}


El collision_rectangle va a tomar como punto de inicio al que sumarle o restarle la cantidad de pixeles del rango a las coordenadas del origen del objeto, así que si no están centradas tendrás que controlar bien la distancia a la que quieras que se considere que el jugador colisiona con el objeto.

Espero haberme expresado bien y que te sirva. Suerte!
19
Preguntas y respuestas / Re:Animacion disparo
Octubre 20, 2017, 04:00:03 AM
No se si ya lo pudiste resolver, pero si no fuese el caso podrías crear una variable que indique el el personaje se encuentra disparando, algo así:


if (keyShoot and bolShootReady == true)
{
        bolShooting = true
}

if (bolShooting) //Disparando
{
        image_speed=0.22
        sprite_index = spr_player_shoot
}


Luego crearías un evento Animation End de la pestaña "Other":


if sprite_index = spr_player_shoot
{
        bolShooting = false
}


Considerando para las animaciones de tu objeto usaste un sistema de estados o algo similar en lo que el cambio de sprite dependa de ciertas condiciones, les deberás agregar que la variable bolShooting sea falsa con (!bolShooting) para que cuando esta sea verdadera el sprite que se visualice sea el de el jugador disparando.

Ejemplo:


if place_meeting(x,y+1,objSuelo) and intVX (o la variable que le asignes a tu velocidad horizontal) = 0 and (!bolShooting) //Estado Inmovil
{
       sprite_index = spr_player_idle
}


Espero que te sirva y también espero haberme expresado bien. Si hay algún inconveniente avisame así veo en que te puedo ayudar. Suerte!
20
Resulta que hay veces en las que cuando mi personaje está cayendo y colisiona con el suelo se queda "flotando" un pixel más arriba, lo que hace que el bloque que se supone que debería caer cuando es pisado no caiga, aunque no es muy usual estaría bueno arreglarlo, si me pudiesen ayudar lo agradecería.

Código de gravedad:

if !place_meeting(x,y+1,objColision) and (numVSP < 20)
{
    numVSP += numGrav
}


Código de colisión vertical:

if place_meeting(x,y+numVSP,objColision)
{
    while !(place_meeting(x,y+sign(numVSP),objColision))
    {
        y += sign(numVSP)
    }
    numVSP = 0
}

if place_meeting(x,y+numVSP,objBloqueCaida)
{
    while !(place_meeting(x,y+sign(numVSP),objBloqueCaida))
    {
        y += sign(numVSP)
    }
    numVSP = 0
}


Vídeo del error:

https://www.youtube.com/watch?v=5mVqTnW1LnU

Desde ya GRACIAS!
21
    Resulta que quiero hacer un mini-mapa para mi juego, la cuestión es que con lo que probé para que se puedan ver los enemigos solo muestra la posición de uno, me gustaría saber si alguien sabría como hacer que haya un punto por enemigo y cada uno con los respectivos lugares.

Acá el código que hice:

Citardraw_set_color(c_green)
draw_rectangle(objJugador.x/20+8,objJugador.y/20+8,objJugador.x/20+12,objJugador.y/20+12,0)

(Esto es lo que intenté)
if instance_exists(objEnemigo0)
{
    draw_set_color(c_red)
    draw_rectangle(objEnemigo0.x/20+8,objEnemigo0.y/20+8,objEnemigo0.x/20+12,objEnemigo0.y/20+12,0)
}


Acá lo que sucede:

http://imgur.com/a/e6Zp9