Noticias

¡Ayuda a la Comunidad GM, haz una donación!

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 - 3dgeminis

Páginas: 1 2 3 ... 90
1
Revisa el manual.

2
En  lugar de ver de que lado esta colisionando podrias ver en que direccion esta viendo al otro objeto.
///CREATE
direccion=0

///STEP
direccion=round(point_direction(x,y,hijo.x,hijo.y)/90) ///esto junto conla colision

direccion te va a dar 5 valores 0-1-2-3-4
0 y 4 quiere decir que esta a la derecha, 1 arriba, 2 izquierda, y 3 abajo

Para cambiar de sprite solo usas switch
switch(direccion)
 {
  case 0: sprite_index=sprite_derecha break;
  case 1
  case 2 .............................
 }

3
Aqui tienes 2 videos que encontre:

GameMaker Studio - Make a Level Editor - Create the Level - YouTube


GameMaker Studio - Make a Level Editor - Play the Level - YouTube



4
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.

5
Lo podrias hacer en el evento STEP usando place_meeting:
if place_meeting(x,y,otro_objeto) {image_index=1} else {image_index=0}

6
Preguntas y respuestas / Re:Creacion de mapas procedural
« en: Septiembre 19, 2020, 11:21:12 pm »
Una pregunta, todas las habitaciones son room separados, o todas las habitaciones estan en un solo room?

7
Preguntas y respuestas / Re:Colisiones perfectas
« en: Septiembre 07, 2020, 01:10:48 am »
Yo lo hago verificando pixel por pixel si hay una colision con otro objeto, para esto uso repeat
if keyboard_check(vk_right) {repeat(6) if !place_meeting(x+1,y,obj_pared) {x+=1}} ///si no hay nada 1 pixel adelante del jugador se mueve 1 pixel

8
Preguntas y respuestas / Re:Personaje sigue animación contra la pared
« en: Agosto 20, 2020, 08:35:51 am »
Estan mal escrito, lo correcto es image_index y image_speed

9
Preguntas y respuestas / Re:objeto enemigo creado que siga un path
« en: Agosto 18, 2020, 07:58:06 pm »
Cuando uses path_start(path, speed, endaction, absolute) pon en absolute 1. Con esto hace que el objeto tome como inicio el path en lugar de la posicion inicial del objeto. Si pones 0 toma como origen la posicion inicial del objeto.

10
Preguntas y respuestas / Re:Como hacer un menu usando Arays 3D.
« en: Agosto 07, 2020, 04:28:22 pm »
Segun el icono el esta usando la version 1 de game maker studio.
Este tutorial usa 2d arrays para hacer menus y submenus:

https://www.youtube.com/watch?v=_2CrhKO5ojE

11
Preguntas y respuestas / Re:Como hacer un menu usando Arays 3D.
« en: Julio 30, 2020, 10:27:45 pm »
Gm no puede crear 3d arrays, pero se pueden crear arrays dentro de otro arrays. O tambien puedes usar ds grids.
Que clase de menu estas intentando hacer? talves no necesites mas que un simple array.

12
Preguntas y respuestas / Re:problema lansando bala
« en: Julio 28, 2020, 03:19:56 am »
Crea una variable que contenga la direccion de a donde se mueve, por ejemplo direccion=1. Cuando presionas la tecla para moverte a la derecha direccion=1, a la izquierda direccion=2.
if direccion=1 {bala = instance_create(x+10,y, obj_bala)}
if direccion=2 {bala = instance_create(x-10,y, obj_bala)}
Tambien puedes hacerlo mas corto si en lugar de poner el valor 1 o 2, que sea 1 o -1 y quedaria asi:
bala = instance_create(x+ (10*direccion) ,y, obj_bala)

13
Si por ejemplo tienes una variable global.vida=100 y tienes 10 enemigos que la usan, si un enemigo recibe 10 de daño, TODOS los enemigos reciben 10 de daño.
Si creas una variable local,  vidas=100, cuando le hagas daño a un enemigo, solo se enemigo se le quita vida.
Para resolver tu problema, cuando un objeto colisione con otro, en el evento colision seria de esta manera:
if vida < other.vida {instance_destroy()} ///si la vida es menor que el otro objeto(other), muere

if vida > other.vida {with(other) {instance_destroy()}} ///si la vida es mayor que el otro objeto, el otro objeto muere

if vida = other.vida ///si las vidas de ambos son iguales los 2 reciben 20 de daño
 {
  vida -= 20
  other.vida -= 20
 }

14
Crea un unico sprite que usaras como mascara de colision, elige un centro para la mascara y todos los sprites (yo coloco el centro a los pies en el medio). No uses image_xscale para invertir los sprites, ya que esto cambia tambien la mascara de colision.
Algo que hago aveces es usar repeat para ver pixel por pixel si hay colision adelante del personaje cuando se mueve.
Asegurate de desactivar la gravedad y velocidad cuando toque el suelo.
Puedes poner el codigo que usas ?

15
Preguntas y respuestas / Re:Ayuda física "básica"
« en: Julio 20, 2020, 12:15:56 am »
Lo mejor seria primero aprender la fisica de lo que quieres hacer, y luego llevarlo a la programacion, aprende los conceptos basicos.
Asi que olvidate por un momento de game maker y empieza a desempolvar los libros de fisica .

Páginas: 1 2 3 ... 90