Noticias

Importante: ¡Si quieres publicar tu juego no olvides leer este tema!

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Mostrar Mensajes

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


Mensajes - 8 bits

Páginas: 1 2
1
Preguntas y respuestas / Re:colision de balas
« en: Septiembre 26, 2020, 10:30:36 pm »
No estoy seguro pero puede ser que cuando las balas colisionan, el codigo de una bala1 se ejecuta primero que el de la bala2, cuando la bala1 se autodestruye, la bala2 no tiene colision con la bala1 y por eso no se destruye.
Lo que puedes hacer es guardar en una variable la id de la otra bala y eliminar las dos
otra_bala=instance_place(x,y,munition2C)

if otra_bala
  {
   with(otra_bala) {instance_destroy()}
   instance_destroy()
  }
No lo probe pero mas o menos esa es la idea.
Los siguientes usuarios dieron las gracias a este tema: 8 bits

2
Lo podrias hacer en el evento STEP usando place_meeting:
if place_meeting(x,y,otro_objeto) {image_index=1} else {image_index=0}
Los siguientes usuarios dieron las gracias a este tema: 8 bits

3
Preguntas y respuestas / Re:duda sobre los sistemas de particulas
« en: Septiembre 20, 2020, 04:56:25 am »
Saludos 8 bits

¿Para que sirven las particulas? Bueno... Puede haber un monton de cosas que hacer con las particulas (las posibilidades pueden ser ilimitadas, creo  ;)). Los particulas pueden ser como objetos normales (puedes aplicarles velocidades, manejar los alpha, manejar los colores, darles direcciones etc), con la pequeña diferencia de que puedes variarles los comportamientos para hacer que se vean bonitas.

Existen muchas cosas para las que servirian las particulas; por ejemplo:
-Hacer que en una nave cada vez que te muevas, cree un vapor que se desaparezca
-Hacer particulas tipo estrellas fugases, que se mezclen con varios colores a la vez
-Hacer un efecto fantasma tipo Alucard (Castlevania)
-Crear lluvia que caiga en toda la room
-Hacer rayones de ruedas de un auto al frenar y que se desaparezcan

Las posibilidades pueden ser tantas como tu quieras. Claro que tambien podrias hacerlo con objetos propios, pero el sistema de particulas esta un poco mas adaptado para hacer particulas tan eficientes. Te recomiendo que veas videos en youtube de ejemplos de particula en GameMaker, puede que encuentres bastantes efectos de particulas
Los siguientes usuarios dieron las gracias a este tema: 8 bits

4
Preguntas y respuestas / Re:duda sobre draw
« en: Septiembre 14, 2020, 08:40:11 am »
Cada funcion de dibujo tiene parametros para indicar las coordenadas, por ejemplo:
draw_text(x, y, cad)

si cambiás los valores de x e y, podes mover el elemento en cuestion
Ahora, con lo borrar, no sé bien a que te referís. Si es a ocultar un elemento o literal borrar parte del dibujo.
Si se trata de borrar como si fuera el paint de windows, se puede pero estaríamos hablando de implementar algo con surfaces y usar funciones para cambiar los factores de mezcla. O algo mas complejo como usar shaders
Los siguientes usuarios dieron las gracias a este tema: 8 bits

5
Juegos en desarrollo / Re:Proto Shooter (Beta)
« en: Septiembre 05, 2020, 01:53:23 am »
Bueno, te borré el otro post porque estaba mal y vuelves a ponerlo igual, entonces te pongo cómo debes hacerlo:

Reglamento de Juegos en Desarrollo

En el link encontrarás las instrucciones que debes seguir para poder publicar tu juego correctamente, leelo despacio para que lo sigas paso a paso.

Este tema queda cerrado 
Los siguientes usuarios dieron las gracias a este tema: 8 bits

6
Preguntas y respuestas / Re:problema de la view
« en: Agosto 22, 2020, 04:50:13 am »
Si solo utilizas una view, puedes usar una variable que guarde el id del objeto que debe seguir. Cuando presionas el objeto, cambia el id y la view salta a una nueva posición.

Con 2 views, primero debes activarlas. Se puede hacer desde el editor de rooms o con los arrays view_visible y view_enabled. Ejemplo
view_visible[0] = true;
view_visible[1] = true;
view_enabled[0] = true;
view_enabled[1] = true;
Coloca las views en diferentes posiciones dentro de la ventana con view_xport y view_yport.
Establece el tamaño de las views con view_hport y view_wport.
Los siguientes usuarios dieron las gracias a este tema: 8 bits

7
Preguntas y respuestas / Re:detección de las letras del teclado
« en: Agosto 21, 2020, 04:34:34 pm »
¿Qué son a, w, s, d? ¿Son variables?

Para detectar teclas que no sean las "estándares", o sea, que no sean las flechas, ctrl, shift, etc, necesitas obtener el código unicode de la tecla, y eso lo obtienes con la función ord(). Entonces el código para detectar las letras sería así:

if (keyboard_check(ord("W"))) {
    // acciones
}
if (keyboard_check(ord("D"))) {
    // acciones
}
// etc
Los siguientes usuarios dieron las gracias a este tema: 8 bits

8
Preguntas y respuestas / Re:colisión con la pista
« en: Agosto 09, 2020, 05:10:53 pm »
Hola, te cambio un poco el código que has puesto y te comento


//evento step
if (var_movimiento) {
    if keyboard_check(vk_left) {
        hspeed = -8
        image_angle=180;
    }
    if keyboard_check(vk_right) {
        hspeed = 8;
        image_angle = 0
    }
    if keyboard_check(vk_up) {
        vspeed = -8
        image_angle=90;
    }
    if keyboard_check(vk_down) {
        vspeed = 8
        image_angle=270;
    }
    if keyboard_check(vk_nokey) {
        vspeed = 0
        hspeed = 0;
    }
 
}
if (!place_meeting(x,y,rainbow_road_colision)) {
    hspeed=0;
    vspeed=0;
    var_movimiento = false;
}

El problema estaba en que no estabas incluyendo bien las lineas de código dentro de los if statement, si no encapsulas todo  con corchetes {}  el if cogera unicamente la siguiente linea a continuacion.
El resto de lineas se estaban ejecutando siempre.

Edit: Te dejo por aqui otra version del movimiento de tu nave con el código más compacto, un saludo!

hspeed = place_meeting(x,y,rainbow_road_colision) ? (keyboard_check(vk_right) - keyboard_check(vk_left))*8 : 0;
vspeed = place_meeting(x,y,rainbow_road_colision) ? (keyboard_check(vk_down) - keyboard_check(vk_up))*8 : 0;
if (keyboard_check(vk_anykey) && place_meeting(x,y,rainbow_road_colision))
image_angle = point_direction(x,y,x+hspeed,y+vspeed);

Los siguientes usuarios dieron las gracias a este tema: 8 bits

9
Preguntas y respuestas / Re:colisión con la pista
« en: Agosto 09, 2020, 08:40:32 am »
Hmmm, ¿puede que estes volviendo a actualizar el hspeed/vspeed aunque lo hayas puesto a valor 0?
Es decir si tu código es algo así

if (!place_meeting(x,y,obj_pista)) {
 hspeed = 0;
}
if keyboard_check(vk_left) hspeed = -2;
if keyboard_check(vk_right) hspeed = 2;

Tu hspeed volverá a tomar valores independientemente de si toca la pista o no, tendrás que meterle una condicion extra a tu movimiento de que solo se realice si está tocando la pista.
hspeed = place_meeting(x,y,obj_pista) ? (keyboard_check(vk_right) - keyboard_check(vk_left))*tuvelocidadhorizontal : 0 
Algo parecido a esto, tendrías que permitir el movimiento unicamente si la nave toca la pista.

Hay muchas otras formas de hacerlo, podrias meter una variable boolean que permita el movimiento pero se actualice a false al no tocar la pista y bloquee el movimiento de la nave, por ejemplo ( no lo veo lo más elegante pero valdría)

//Esto en el create
var_movimiento = true;

//Esto ya en el step
if (var_movimiento) {
 if keyboard_check(vk_left) hspeed = -2;
 if keyboard_check(vk_right) hspeed = 2;
}

if (!place_meeting(x,y,obj_pista)) {
 hspeed = 0;
 var_movimiento = false
}

Espero que puedas solucionarlo amigo
Los siguientes usuarios dieron las gracias a este tema: 8 bits

10
Preguntas y respuestas / Re:colisión con la pista
« en: Agosto 08, 2020, 04:26:15 pm »
Hola,
Si optas por tu idea de que la pista sea un objeto puedes hacerlo con place_meeting(), esto iria en tu objeto nave:
if (!place_meeting(x,y,obj_pista)) {
// Ejecutar codigo de pararse
}

De todos modos tienes muchas maneras de hacerlo, si la pista está estática en un punto y es rectangular puedes usar point_in_rectangle ( https://docs.yoyogames.com/source/dadiospice/002_reference/movement%20and%20collisions/collisions/point_in_rectangle.html ) o rectangle_in_rectangle ( https://docs.yoyogames.com/source/dadiospice/002_reference/movement%20and%20collisions/collisions/rectangle_in_rectangle.html ) si quieres que use todo el bounding box o el alto/ancho del sprite de la nave.

Edit: tambien podrías usar collision_rectangle
https://docs.yoyogames.com/source/dadiospice/002_reference/movement%20and%20collisions/collisions/collision_rectangle.html


if (!collision_rectangle( x superior izda de tu pista, y superior izda de tu pista, x inferior derecha de tu pista, y inferior derecha de tu pista, obj_nave, 0, 0)) {
// Ejecutar codigo de pararse
}


Un saludo.
Los siguientes usuarios dieron las gracias a este tema: 8 bits

11
instance_create(x + lengthdir_x(15, image_angle), y + lengthdir_y(15, image_angle), bala_coomp_navecita)
http://docs.yoyogames.com/source/dadiospice/002_reference/maths/real%20valued%20functions/lengthdir_x.html
Los siguientes usuarios dieron las gracias a este tema: 8 bits

12
Preguntas y respuestas / Re:apuntar con la nave
« en: Julio 25, 2020, 05:45:31 pm »
Tu lo que quieres es disparar una bala y que salga hacia donde apunte la nave. ¿Verdad?
Pues esto se logra con este código al momento de crear la bala en la nave:

w=instance_create(x,y,Bala)
w.direction=image_angle
w.image_angle=image_angle
Los siguientes usuarios dieron las gracias a este tema: 8 bits

13
Preguntas y respuestas / Re:rotar el sprite
« en: Julio 25, 2020, 04:41:39 am »
ehhhmmmm, tengo un problemita  :-[  :-[  :-[

como ves en la imagen hice lo que me pediste pero la nave sigue mirando a la derecha que cosas no?
falta una "+" y el "-" revisa el codigo de unuevo y colocalos otravez
Los siguientes usuarios dieron las gracias a este tema: 8 bits

14
Preguntas y respuestas / Re:rotar el sprite
« en: Julio 25, 2020, 03:05:15 am »
Tus controles creo que son raro no entendí nada solo entendi que al presionar la tecla la nave gire y eso es lo que te voy a mostrar.

Evento keypressed izquierda
image_angle-=90;

Evento keypressed derecha
image_angle+=90;

Creo que eso sera suficiente saludos...
Los siguientes usuarios dieron las gracias a este tema: 8 bits

15
Preguntas y respuestas / Re:problema del jefe
« en: Julio 17, 2020, 04:16:54 pm »
De nada.

Un consejo, pon nombres descriptivos a los objetos, recursos, etc. Sino, es muy difícil recordar su función pasado un tiempo.
Los siguientes usuarios dieron las gracias a este tema: 8 bits

Páginas: 1 2