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.

Mensajes - Clamud

646
Preguntas y respuestas / Re:Ayuda con colisiones
Julio 11, 2017, 06:08:50 PM
El personaje podría ser no-sólido para que los enemigos puedan tocarlo, el empalme se evitaría con código. Tengo un sistema en el que el personaje y los enemigos tienen máscaras de colisión rectangulares, pero reaccionan a las colisiones como si fuesen circulares.

Es un script pequeño, pero necesitas conocer un poco de álgebra vectorial para entenderlo. Se coloca en un evento de colisión.
[gml]
///Colisión con un objeto movil
//Los objetos se desplazan de forma simetrica

d = point_distance( x,y, other.x,other.y ); //distancia
e = r + other.r - d; //empalme

if( e > 0 ) //si hay empalme
{
    dx = (x-other.x)*e/d/2; //componentes del
    dy = (y-other.y)*e/d/2; // desplazaminto
   
    x += dx;       //desplazar las dos
    y += dy;       // instancias en cantidas
    other.x -= dx; // iguales, pero en
    other.y -= dy; // direcciones opuestas
}
[/gml]
Es necesario que las dos instancias que colisionan tengan definida la variable r, que indica su radio.

Para realizar el knockback puedes usar las variables speed y friction, así el personaje se detiene automáticamente. Observa si eso no afecta el sistema de colisión que ya tienes establecido.
647
Preguntas y respuestas / Re:COLISION CON SPRITE
Julio 11, 2017, 04:33:18 PM
Haz que la luz de la linterna sea un objeto (pegado al player).
648
General / Re:Unity
Julio 11, 2017, 04:27:22 PM
Lo he usado como un mes, me falta mucho por aprender.
649
Preguntas y respuestas / Re:Tecla <
Julio 10, 2017, 05:51:26 PM
Puedes ver los códigos de las teclas si ejecutas el juego en "debug mode". En la ventana Debug Information, abre el menú Tools y selecciona Show Global Variables, observa la variable keyboard_lastkey.
650
Se ve más dinámico que los anteriores, pero creo que hay varios aspectos en los que puede mejorar. Al principio parece que estás leyendo. Tampoco es necesario que muestres otras actividades aparte del desarrollo de juegos.
651
Preguntas y respuestas / Re:Como empezar
Julio 09, 2017, 09:35:18 PM
Me imagino que quieres hacer que todos los enemigos que están en la misma fila se muevan juntos. Primero tienes que entender bien lo que es un objeto y lo que es una instancia. Si una instancia toca el borde de la pantalla, debe decirle a otras instancias que tienen el mismo valor en la variable y que cambien de dirección. Se puede hacer así:
[gml]
//Evento Step o End Step

avisar = false; //no avisar a los compañeros

if( x >= 550 ){
   hspeed = -10;
   avisar = true;
}
if( x <= 0 ){
   hspeed = 10;
   avisar = true;
}

if( avisar ) //si ha tocado el borde es necesario avisar
with( obj_marciano ){ //con todos los compañeros
   if( y == other.y ) //si tienen la misma altura
      hspeed = other.hspeed; //asignar la misma velocidad
}
[/gml]

Lo mejor que puedes hacer ahora es preguntar y seguir tutoriales, también es importante leer el manual. Al tener más experiencia podrás resolver los problemas tu solo.
652
Juegos completos / Re:Droschke Hubble
Julio 09, 2017, 09:22:02 PM
El concepto es bueno y la música me pareció interesante.
Estos son algunos problemas:
- Aparece mucho texto desde el principio, da la sensación de que tienes que memorizar muchas cosas, pero hay cosas que no son tan relevantes y se podrían enseñar en el gameplay. Otras sí necesitan inidcarse, como el botón para cerrar los mensajes.
- E juego pesa demasiado, supongo que es por los fondos. Intenta reutilizar los fondos o usar unos más pequeños con "tiling". Algunas partes se podrían generar con partículas.
653
Preguntas y respuestas / Re:Sonidos
Julio 09, 2017, 08:56:49 PM
Podrías usar una variable que indique la respuesta correcta
[gml]
//objeto controlador
global.respuesta_correcta = "carro";
[/gml]

y botones con diferentes respuestas
[gml]
//objeto botón
respuesta = "taladro";
[/gml]

al presionar un botón comparar las variables
[gml]
if( respuesta == global.respuesta_correcta ) //...
[/gml]
654
Muestra una captura de los que sucede.
655
Deberías usar draw_texture_flush() al final de cada room.
¿Cómo se crean las surfaces que mencionas?
656
Intercambio / Re:RPG por turnos
Julio 09, 2017, 07:56:05 PM
Creo que es posible encontrar un socio sin tener que pagar, pero es necesario tener bien definido el proyecto, con un plan de trabajo, de modo que no haya tiempo perdido. Si propones algo interesante la gente querrá participar.
657
No has elegido el método para posicionar la cámara. Mañana continuaré con la explicación, creo que primero necesito unos dibujos.
Deberías subir una captura de tu juego, para ver mejor lo que quieres lograr.
658
En realidad el efecto se llama "ease out". Primero debes seleccionar una función que tenga una curva de crecimiento con las características indicadas: primero crece rápido y después lento. Puedes encontrar varias funciones en internet o intentar deducirlas.

Este es un script que usa una función cuadrática:
[gml]
///ease_out_quad( a,b, t );
// a: valor inicial
// b: valor final
// t: parametro entre 0 y 1

var a,b,t;
a = argument0;
b = argument1;
t = argument2;

return (a-b)*sqr(t-1) + b;
[/gml]
Adjunto un ejemplo con el script.
659
¿Qué solución encontraste?
660
Tal vez sí se llena la memoria, lo puedes comprobar con el debugger.