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 - Kain88

1
Preguntas y respuestas / Plataformas verticales
Septiembre 12, 2020, 01:29:24 AM
Hola! Tengo unas plataformas que se mueven verticalmente, primero ascienden y una vez que tocan el techo descienden, y a la inversa si el personaje esta sobre ellas. Logré que el personaje se mueva sobre la plataforma sin problema pero sucede que si la plataforma esta bajando con el personaje encima, cuando comienza a ascender nuevamente, el personaje baja un pixel y queda estancado en la plataforma.

El código de la plataforma en el evento step es el siguiente:

[gml]
if (place_meeting(x, y - 1, obj_player)) && vsp == 0 {
    phase = 1;
}

if (place_meeting(x, y - 1, obj_spike)) {
    phase = 2;
}

if (phase == 1) {
    vsp = -2;
}

if (phase == 2) {
    vsp = 1;
}

if (place_meeting(x, y - 1, obj_player))
    obj_player.y += vsp;

if (vsp > 0) && (y >= ystart) {
    vsp = 0;
    y = ystart;
}

//Colisiones
scr_collisions();
[/gml]

El código de las colisiones es el siguiente:

[gml]//Colisiones horizontales
if (hsp != 0) {
    if (place_meeting(x + hsp, y, obj_solid)) {
        while (!place_meeting(x + sign(hsp), y, obj_solid))
            x += sign(hsp);
        hsp = 0;
    }
}
x += hsp;

//Colisiones verticales
if (vsp != 0) {
    if (place_meeting(x, y + vsp, obj_solid)) {
        while (!place_meeting(x, y + sign(vsp), obj_solid))
            y += sign(vsp);
        vsp = 0;
    }
}
y += vsp;[/gml]

Ya intente poniendo el código en "end step event", usando bbox_top, etc. sin resultados positivos
2
Hola, tengo el objecto "bala" que dispara el personaje y rebota en determinados enemigos cuando los golpea. El problema es que cuando una instancia de la bala rebota, el código hace que todas las demás también reboten aunque no hayan tocado al enemigo.

Hay alguna manera de hacer que solo afecte a la instancia que choca con el enemigo?
3
Hola! quería saber si hay alguna manera de acceder a las variables que son específicas para cada instancia de un objeto (las que se crean dentro el room sobre las instancias), ya que necesito acceder a ellas cuando creo una nueva instancia.

Lo que necesito hacer específicamente es que cuando se destruye una instancia y luego se crea otra en el mismo lugar, tenga la misma variable y valor que la anterior.
4
Hola como indica el título tengo ese problema. Cuando el personaje se mueve, se ve borroso. Probando e investigando pude descubrir que se debe a que mi personaje se mueve en velocidades decimales, por ejemplo 1.4 y tengo un objeto camara que hace que la view siga al jugador.

Probé usando números enteros o round(x) y round(y) el problema se soluciona pero el personaje ya no se mueve a la velocidad que quiero. Hay alguna otra forma de solucionar esto pudiendo mantener las velocidades de movimiento del personaje en decimales?
5
Hola, quiero hacer que el personaje pueda trepar la escalera y pararse sobre ella cuando llega a lo más alto (similar a los juegos Megaman). Para esto hago que la mascara de la escalera sea -1 cuando el personaje esta por debajo y se active cuando el personaje esta por encima.
Estaba utilizando en las colisiones (collision_rectangle(bbox_left, bbox_top, bbox_right...) y aunque desactivo la mascara el personaje sigue sin poder atravesar (choca con el objeto). Cambie a place_meeting y funciona perfectamente.
No tengo problema en usar place_meeting pero quería saber por que esa diferencia de que con una funciona y con otra no, si básicamente hacen lo mismo.
6
Hola, tengo un jefe que se mueve saltando, la velocidad vertical es siempre la misma pero la horizontal varía. Son 8 altos, el problema es que la primera ronda de saltos la hace exactamente como quiero, pero a partir de la segunda las posiciones empiezan a variar, generalmente por 1 pixel. Por que sucede esto si en el código no hay ninguna variación? Simplemente repito una y otra vez la misma ronda de saltos
7
Hola, quiero hacer que el sprite del personaje cuando corre varíe la velocidad de acuerdo a la velocidad a la que se mueve. Es decir, a la velocidad horizontal.

Intente con image_speed = hsp

hsp es la variable que uso para la velocidad horizontal, y como le aplique fricción quiero que la velocidad del sprite sea la misma que la de la velocidad horizontal, sin embarlo al usar lo que puse arriba, image speed se ejecuta con una velocidad de 0.2

EDIT: Ya lo solucioné, era un error de image speed que figuraba 2 veces
8
Preguntas y respuestas / Código para instancias
Junio 03, 2019, 06:19:05 AM
Hola, hace poco empecé a usar GM Studio 2 después de varios años de usar la primera versión.

Quería saber cómo agregar código a una instancia desde el editor de Room. En GM Studio se podía lograr haciendo click derecho sobre la instancia y seleccionando "code" en el menú que se desplegaba pero en esta versión al hacer click derecho sobre las instancias no sucede nada y tampoco veo la opción por ninguna parte.
9
Preguntas y respuestas / image_speed en draw_sprite
Marzo 06, 2019, 02:01:22 AM
Quería saber como se puede variar la velocidad de un sprite usando draw_sprite. Lo logré de la siguiente manera:

draw_sprite(spr_player_idle,image_index*image_speed,room_width/2,150);

Pero no creo que sea la mejor manera de hacerlo, hay alguna otra forma?
10
Preguntas y respuestas / Profundidad de Tiles
Febrero 08, 2019, 02:51:26 AM
Hola, quería saber como cambiar la profundidad (depth) de los tiles, pero no en el editor del Room,ya que si lo hago ahí me modifica el depth de todos los tiles y solo quiero modificar el de algunos tiles solamente, para que se vean delante del jugador y el resto detrás. Lo había logrado hace mucho con codigo pero perdí el proyecto y no recuerdo bien como lo había hecho en su momento.

P.D.: Por cierto, el nuevo diseño de la página esta genial
11
Preguntas y respuestas / problema con distance to object
Diciembre 11, 2018, 02:13:23 AM
Hola estoy haciendo un beat 'em up y hasta ahora todo bien. El problema es que en uno de los estados de los enemigos, para que se acerquen al jugador y lo ataque uso move_towards_point y luego para chequear la distancia uso el código

distance_to_object(obj_blaze) <= 5

Pero sucede que cuando el enemigo se acerca la distancia aplica tanto al eje x como al eje y, y estoy utilizando mascaras de colisiones que son rectangulos en los pies de los personajes, entonces cuando el enemigo golpea lo hace en un eje y diferente al del jugador. Como puedo modificar la distancia para que el eje y sea parejo en ambos (jugador y enemigo)?

12
Lo que ocurre es que tengo un enemigo al que le asigne una variable "hp" en el evento create y cuando el jugador lo golpea este disminuye, pero cuando pongo en el room dos o mas instancias de un enemigo todas comparten el mismo hp. Si golpeo a una instancia y le queda el hp en 3, luego voy a golpear a otra instancia y también tiene el hp en 3.

No se supone que cada instancia de un objeto es individual y que cada una hace uso de su propias variables?
13
 :GMS:

Estoy haciendo un Beat 'em up similar al Streets of Rage, y en el momento que el jugador ataque al enemigo tengo un problema: lo que yo quiero hacer es que el jugador solo pueda atacar al enemigo cuando esten alineados en el eje y, lo que hice fue crear un objeto en el sprite de ataque que colisione con el enemigo, como en este video https://youtu.be/vJ6ksNLLFiQ?t=710

La diferencia es que en un beat 'em up el personaje tambien puede moverse hacia arriba y hacia abajo, y lo que sucede es que si por ejemplo el jugador esta en una posición de y más arriba o abajo que el enemigo, este es igualmente golpeado debido a que el objeto que colisiona con el enemigo lo toca. Como puedo hacer para que el enemigo solo sea afectado por el ataque solo cuando el jugador y el enemigo esten alineados en el eje y?
14
Preguntas y respuestas / Consulta sobre "switch"
Mayo 27, 2016, 02:25:51 AM
Necesito hacer varios "switch" con keyboard_check_pressed, variando en cada caso las direcciones arriba, abajo, etc.

El problema es que usando la variable "keyboard_key" solo reconoce como si se mantenieran presionadas la teclas (keyboard_check) en vez de (keyboard_check_pressed) y no veo otra variable que especifique eso

Como puedo hacer?
15
Preguntas y respuestas / Problema con sonido
Diciembre 28, 2015, 03:35:58 AM
Tengo un problema al ejecutar un sonido largo, ya que quiero hacerlo una sola vez pero solo se ejecuta continuamente el principio del sonido

el código es el siquiente


if (keyboard_check(ord("S"))) && (sound_play_once == false)
{
    audio_play_sound(snd_megabuster_charge, 1, false);
   sound_play_once = true;
}


El codigo me funciona si uso "sound_play" pero quiero usar el nuevo engine, alguna idea? Aviso que no puedo reemplazar "keyboard_check" por "keyboard_check_pressed" porque necesito que se registre que se mantiene presionada la tecla por distintas funciones que estoy agregando al juego.
16
A lo que me refiero con el título es al haber un solo personaje (player 1) al trepar las escaleras, en la parte superior de la escalera hay un objeto que si el personaje esta debajo, la mascara del objeto se pone en -1 para que el personaje lo pueda pasar, y al llegar a la cima, la mascara cambia a la del sprite para que el personaje se pueda parar encima (exactamente a como funciona en los juegos de Megaman).

El problema es que cuando agrego a un segundo jugador todo el código se descontrola, ya que el objeto en la cima de la escalera se confunde porque puede haber tanto un personaje en la cima como otro debajo, y no sabe cuando cambiar la máscara.

Habia pensado en hacer dos objetos en la cima de la escalera, uno para cada jugador, pero tendria que hacer que el jugador 1 no detecte el objeto de la cima de la escalera perteneciente al del jugador 2 y viceversa.

Como puedo hacer? Si se volvió muy confusa la explicación avisenme que lo explico mejor  XD
17
Preguntas y respuestas / Sprites distorsionados
Octubre 29, 2015, 06:29:24 PM
Hola, les comento que tengo un problema: cuando ejecuto el juego, los sprites se ven todos distorsionados, con pixeles extras en un lado o en otro. Esto se nota aún más cuando muevo al personaje en alguna dirección.

Estuve viendo en Internet y vi que a varios les pasa lo mismo, pero lamentablemente ninguna de las soluciones que encontré me soluciono el problema. Acá dejo un ejemplo de lo que me pasa:

http://gmc.yoyogames.com/index.php?showtopic=675242

Fijense como se le agregan sprites extras donde no deberia ser asi, la verdad que hace que se vea todo muy mal.

Alguna solución?
18
Preguntas y respuestas / [Solucionado] Views en GML
Septiembre 23, 2015, 10:25:37 PM
Hola, estoy haciendo la view en gml porque el juego va a utilizar varias cámaras y voy a hacer que mediante un objeto se active una u otra cámara.

El codigo que uso para una de las view es este:

view_enabled = true;
view_visible[0] = true;

view_wview[0] = 240; view_hview[0] = 224;
view_wport[0] = 640; view_hport[0] = 480;
view_xport[0] = 0; view_yport[0] = 0;

view_object[0] = obj_player;
view_hborder[0] = 256;
view_vborder[0] = 256;


El problema esta en que cuando ejecuto el juego la ventana tiene el tamaño de 1024x768 o incluso mas, dependiendo del tamaño del room. Necesito saber cual es el código para hacer que la ventana sea de 640x480, ya que probe con el editor de view del room y si funciona pero con código no lo logre.

EDIT: Ya logre solucionarlo con una par de lineas mas de código.
19
Preguntas y respuestas / Consulta sobre barra de vida
Agosto 18, 2015, 08:22:08 AM
Hola, quería saber como hacer una barra de vida estilo Megaman, con sprites de barras representando la salud y que la barra sea vertical en lugar de horizontal. Vi algunos ejemplos en páginas usando la declaración "for" pero no me quedó del todo claro.
20
Preguntas y respuestas / Problema con "vistas"
Junio 29, 2015, 11:33:02 PM
Hola, en el juego la cámara sigue al personaje tanto horizontalmente como verticalmente. El problema esta en que hay partes del nivel que solo quiero que la camara siga al personaje horizontalmente y otras partes del nivel que lo siga verticalmente, porque sino se ven partes vacias del room, donde no hay background.

Habia pensado en hacer un objeto que controle la cámara y que de acuerdo a la posicion del personaje en el room, habilite el movimiento horizontal o vertical de la cámara.

Es correcta esta manera o hay alguna más sencilla?