Noticias

Se ha publicado un nuevo servicio, el Portal de Juegos Online

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

Páginas: 1
1
Preguntas y respuestas / Re:Problema en colisión con la nada
« en: Diciembre 29, 2018, 06:17:52 pm »
Esto sucede porque necesitas re ubicar a tu personaje una vez detecte que va a estar por fuera del área.

Por decir algo, si tu jugador ya estaba a medio traspasar el área y simplemente le dices que deje de caer, pues el se va a quedar ahí donde estaba...

Para solucionarlo no sabría como decirte específicamente ya que no se como es el objeto del área como tal, pero la solución se vería algo así (Te dejo los cambios documentados):

if(!place_meeting(x,y+19,obj_area)){
    gravity=0;
    vspeed=0;
    gravity_direction=270;

    // Aquí debes re ubicar al personaje, esto depende de tu juego
    y = bordeInferiorDelArea - offsetDelTamanoDelPersonaje;
}else{
    gravity=2;
}

if(!place_meeting(x,y-19,obj_area)){
    vspeed=0;

    // Aquí debes re ubicar al personaje, esto depende de tu juego
    y = borderSuperiorDelArea + offsetDelTamanoDelPersonaje;
}
   
if(keyboard_check(vk_left)) {
    if(place_meeting(x-19,y,obj_area)) {
        hspeed=-3
    } else {
        hspeed=0;
    }
}

if(keyboard_check(vk_right)){
    if(place_meeting(x+19,y,obj_area)) {
        hspeed=3
    }else{
        hspeed=0;
    }  
}

if(keyboard_check_pressed(vk_up) and vspeed=0){
    vspeed=-20;
}
   
if(keyboard_check_released(vk_up)){vspeed=vspeed/2;}
if(keyboard_check_released(vk_left)){hspeed=0;}
if(keyboard_check_released(vk_right)){hspeed=0;}

No te va a funcionar así obviamente porque depende de la posición del area y también del tamaño del jugador y su punto de rotación, entre otros...

Pero esa es básicamente la solución

Saludos
Los siguientes usuarios dieron las gracias a este tema: elmmertonw

2
Preguntas y respuestas / Re:joystick button released
« en: Noviembre 11, 2018, 08:32:53 pm »
Buah me ha costado mucho arreglar el estropicio que he intentado hacer pero ya esta, inclido mejoraste mi script anterior xd

Lo tengo incluso los ids, del 1 al 10 (suficientes), gracias!!
Los siguientes usuarios dieron las gracias a este tema: elmmertonw

3
Preguntas y respuestas / Re:Ayuda segunda instancia mas cercana
« en: Diciembre 29, 2017, 02:19:29 am »
Usa colas de prioridad, utilizando como prioridad la distancia entre los objetos. Luego sacas dos veces el valor con menor prioridad.
http://docs.yoyogames.com/source/dadiospice/002_reference/data%20structures/ds%20priority%20queues/index.html

(PD: Sí, diije mucho "prioridad" :V)
Los siguientes usuarios dieron las gracias a este tema: elmmertonw

4
Preguntas y respuestas / Re:Ayuda segunda instancia mas cercana
« en: Diciembre 28, 2017, 07:55:56 pm »
si no son muchas instancias podrías ir recorriendo todas las instancias y comparando las distancias obtener cual es la segunda mas cercana por otra parte también podrias hacer instance_nearest de la instancia mas cercana obteniendo así la segunda instancia mas cercana, creo que puede funcionar
Los siguientes usuarios dieron las gracias a este tema: elmmertonw

5
Preguntas y respuestas / Re:Desactivar eventos por código
« en: Noviembre 06, 2017, 10:35:39 pm »
Los eventos no se pueden desactivar, pero se pueden saltar de esta forma: Al principio del evento coloca las acciones DnD "If variable" y "Exit this event".
Los siguientes usuarios dieron las gracias a este tema: elmmertonw

6
Preguntas y respuestas / Re:enemigo mira al mouse
« en: Septiembre 22, 2017, 05:10:48 am »
http://www.comunidadgm.org/desarrollo-de-scripts/rotacion-lenta/
Los siguientes usuarios dieron las gracias a este tema: elmmertonw

7
Desarrollo de Scripts / Efecto de desintegración
« en: Abril 06, 2014, 07:33:32 pm »
Efecto de desintegración

-Autor: Mega-G
-Explicación: Hace explotar un sprite y lo descompone en muchos píxeles.

Añado un vídeo que hice para mi página pero que os mostrará como se ve el efecto:
(mirad hasta el minuto 0:30, luego ya es otra cosa).


-Versiones: GM7, GM8 y GMStudio

-Scripts:


crear_cuadricula(size) (size es un entero que divide sprite_width y sprite_height).
(por ejemplo si el sprite mide 128x128, las size que puedes poner serían 1,2,4,8,16,32,64)

Este script irá en el evento <Create>:

Código: [Seleccionar]
size=argument0
for(i=0; i<=sprite_width; i=i+1*size)
{
for(j=0; j<=sprite_height; j=j+1*size)
{
px[i,j]=i
py[i,j]=j
}
}

Lo que hace es crear una cuadrícula formada por bloques. Cada bloque es cuadrado y su lado corresponde al valor del argument0. Cuanto más pequeño es el argument0 más realista queda ya que habrá más bloques. Pero consumirá más recursos y puede que el juego ralentice.

dibujar_efecto(desintegrarse) (desintegrarse es un boolean. Cuando vale true empieza la animación. Si vale false la pausas.)
Este script irá en el evento <Draw>

Código: [Seleccionar]
desintegrarse=argument0
for(i=0; i<=sprite_width; i=i+1*size)
{
for(j=0; j<=sprite_height; j=j+1*size)
{
draw_sprite_part(sprite_index,image_index,i,j,size,size,x+px[i,j],y+py[i,j])

if desintegrarse=true
{
px[i,j]-=cos(degtorad(point_direction(x+i,y+j,x+sprite_width/2,y+sprite_height/2)))*(5+random(10))
py[i,j]+=sin(degtorad(point_direction(x+i,y+j,x+sprite_width/2,y+sprite_height/2)))*(5+random(10))
}

}
}

Aquí dibuja cada uno de esos bloques creados en el primer script. Y cuando desintegrarse vale true, aleja cada bloque del centro.
Para alejarlos mide la dirección entre cada punto y el centro del sprite (x+sprite_width/2 , y+sprite_height/2) y mueve cada bloque usando las funciones trigonométricas sin y cos.


El ejemplo del vídeo lo podéis bajar aquí: http://guinxu.com/downtut.php?link=17.
(Lo que pasa que no está en script, lo he puesto "a lo bruto" en los eventos <Create> y <Draw>).
Es un editable de GM7 pero lo podéis importar a GM8 y GMStudio sin problemas, lo he comprobado y todo es compatible.


Espero que le sirva a alguien, y a ver si lo veo en algún juego jeje. Sois libres de utilizarlo.
Cualquier duda que tengáis sobre el script os leeré e intentaré resolverla.

Un saludo!
Los siguientes usuarios dieron las gracias a este tema: elmmertonw

Páginas: 1