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.

Temas - LorenzoRD

1
Preguntas y respuestas / Tengo un par de problemillas...
Septiembre 11, 2017, 01:22:23 AM
¡Hola! Yo, como siempre, soy tan noob que no me sale lo básico, entonces vengo a preguntar cosillas.

Primero, tengo hecho este código (al presionar flecha derecha):

image_xscale = -1

if !place_free (x + 4,y) //si hay una pared
{
    x = x + 4
    image_index = 1
    image_index = 0   
}

if vk_left
{
    speed = 0
}

He hecho lo mismo pero a la inversa al presionar la tecla izquierda, todo va bien.

También he hecho este otro código:

if !place_free (x, y + 2) //colisión vertical
{
    vspeed = 0
}
else
{
    vspeed = 2
}

Genial. Ahora a hacer los objetos invisibles sólidos. Luego de esto, lo que ocurre es que quiero ponerlos de color para asegurarme de donde están, cambio el sprite, todo bien. Ahora viene el problema y es que al presionar las flechas solamente se gira el personaje (lo del x_scale) pero no se mueve.

Digo "bueno, no hay problema, debe ser el color del sprite" pero, curiosamente, al ponerlo con el sprite invisible, directamente el personaje se va para abajo, ignorando la colisión del objeto.

He llegado a estas suposiciones, que el primer error es que toma el objeto sólido de abajo como la colisión (dejo screenshot de la room), pero al segundo no, ya que no hubo ninguna diferencia entre las propiedades de los sprites.

Como bonus voy a preguntar cómo se podría programar el personaje para su animación de salto, dejo también screenshot (las primeras 2 imágenes son de movimiento, las otras son las de salto).

Gracias de antemano.

EDIT: Primer y segundo error solucionado. Había que borrar los signos de exclamación. Surge nuevo problema: Al caer, el personaje se queda pegado a las paredes. Por cierto, en las escaleras esas que salen en el primer screenshot (son tiles): ¿Cómo hacer que haya un objeto que tenga esa parte sólida y el resto no?
2
Preguntas y respuestas / Duda sobre los objetos
Septiembre 03, 2017, 09:02:32 PM
Bueno, hola, soy novato y es algo básico, lo sé, pero tengo un problema.
Sucede que estoy haciendo un juego de plataformas y tengo tiles de 32x32, y objetos invisibles. Sucede que no puedo colocar estos objetos invisibles para que se pongan en el cuadrado de 32x32 y se me colocan 16x16 en cada esquina.
Lo curioso comienza cuando pruebo para ver como reacciona un objeto y, para verlo mejor, pongo que estos sprites invisibles sean rojos para saber bien como van las colisiones, y en este caso sí se ponen en el cuadrado entero (ya los había puesto antes y se cambiaron solos). Las colisiones van bien, entonces pruebo a cambiar de nuevo por el sprite invisible y se vuelve a poner el las 4 esquinas. Yo digo "bueno, a ver, quizás sólo parezca eso", pero no, ya que al probar el juego, el objeto de prueba no se mueve.

PD: Si me explican como poner imágenes en este foro las puedo poner para que me expliquen qué es lo que ocurre.
PD2: Código Step del objeto:

//comprobación de colisiones
if !place_free (x + 2,y) //si hay una pared, dirección contraria, cambio de imagen
{
    if hspeed = 2
{
        image_xscale = -1
        hspeed = -2
   
}
else
{
    image_xscale = 1
    hspeed = 2
}
}

if !place_free (x, y + 2) //colisión vertical
{
    vspeed = 0
}
else
{
    vspeed = 2
}
3
 :GMS:

Acabo de empezar en GameMaker y quiero tratar de hacer todo lo posible con el GML. No obstante, tengo presentado un problema. Creé una llave y una puerta.


El objeto llave tiene un evento de colisión con el personaje:

object_player.llaves = object_player.llaves + 1
instance_destroy()


Luego, el objeto puerta tiene dos eventos, uno step:

if object_player.llaves>0
{
    solid = 1
}

if object_player.llaves>0
{
    solid = 0
}

Y un evento de colisión con el personaje:

if object_player.llaves > 0
{
object_player.llaves = object_player.llaves - 1
instance_destroy()
}


Cabe destacar que el personaje tiene este comando en el evento create:

llaves = 0


No me aparece ningún error ni nada. Ahora sí, la puerta está sólida, pero luego de conseguir la llave y acercarme a la puerta la llave desaparece (lo sé porque me puse a un costado un contador de las llaves que tengo) y la puerta no desaparece.

Espero que alguien pueda resolver esta duda.