Alguien tiene los videos en mayor calidad? me gustaría guardarlos
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.
2
Preguntas y respuestas / Re:Detectar que instancia tiene encima
Abril 15, 2014, 07:11:18 PM
Una forma fácil sería poner un objeto invisible encima de la base, y fijarse qué instancia colisiona con ese objeto
La forma más correcta sería usar chequeo de colisiones en GML
La forma más correcta sería usar chequeo de colisiones en GML
3
Preguntas y respuestas / Re:mover y tirar un objeto con fisica
Marzo 22, 2014, 07:22:50 PMCita de: xXchopliXx en Marzo 20, 2014, 08:32:04 PMBah, no tanto como pro, pero cuando pruebes a hacer las físicas vas a ver que es lo más difícil de Game Maker.Cita de: Mgbu en Marzo 20, 2014, 06:05:04 PMY después el tema de las colisiones es algo aparte, porque es mucho más dificil. Yo me podría a buscar cómo usar el motor de físicas Box2D
No sería suficiente con añadirle esto?
No se,creo,aqui el pro eres tu,yo solo soy un novato mas xD
La cosa es que con el bounce no estás haciendo verdaderas físicas, por ejemplo cuando tires un palo en diagonal contra el piso va a seguir en diagonal y no va a empezar a girar. También con la acción bounce no es fácil hacer que rebote menos, si tirás una pelota al piso va a picar para siempre
O sea que la forma más fácil es usar Box2D, no lo probé pero debería ser simple
Si no querés usar Box2D tenés ExtremePhysics, pero es más difícil, fue creado cuando no había Box2D
4
Preguntas y respuestas / Re:Sistema de inventario
Marzo 20, 2014, 06:18:57 PM
Estas pidiendo tres cosas muy distintas, una cosa es saber guardar un inventario, otra es saber dibujarlo, y otra es hacer el crafteo
Para guardar el inventario vas a tener que ver cómo usar archivos de texto o archivos ini. Para hacer un archivo de texto algo así:
Para dibujar el inventario vas a tener que practicar bastante con las acciones de draw
Y para hacer crafteos, vas a tener que pensar un poco, haciendo algo así como:
Son cosas que no tienen solucion simple, es ponerse a pensar dividiendo el problema en partes mas chiquitas y luego escribir todo ordenadamente, aunque a lo mejor encontrás algún ejemplo
Para guardar el inventario vas a tener que ver cómo usar archivos de texto o archivos ini. Para hacer un archivo de texto algo así:
Código [Seleccionar]
Slot1 = Madera, 10
Slot2 = Piedra, 5
Slot3 = Espada, 1
Slot4 = Nada, 0
Para dibujar el inventario vas a tener que practicar bastante con las acciones de draw
Y para hacer crafteos, vas a tener que pensar un poco, haciendo algo así como:
Código [Seleccionar]
if (cantidad_madera > 3 and cantidad_hierro > 3) {
cantidad_hacha += 1
cantidad_madera -=3
cantidad_hierro -=3
}
Son cosas que no tienen solucion simple, es ponerse a pensar dividiendo el problema en partes mas chiquitas y luego escribir todo ordenadamente, aunque a lo mejor encontrás algún ejemplo
5
Preguntas y respuestas / Re:mover y tirar un objeto con fisica
Marzo 20, 2014, 06:05:04 PM
No es fácil, lo que podés hacer es que al presionar el boton del mouse el objeto se mueva a la posición del mouse, y que cuando se suelte el botón se deje de mover a la posición del mouse. El problema es que el objeto cuando sea solado va a quedar queto, entonces no se puede lanzar el objeto. Lo que se me ocurre es que al soltar el objeto calcule su velocidad fijandose en cuanto se movió en el último step, comparando x con xprevious y y con yprevious
Y después el tema de las colisiones es algo aparte, porque es mucho más dificil. Yo me podría a buscar cómo usar el motor de físicas Box2D
Y después el tema de las colisiones es algo aparte, porque es mucho más dificil. Yo me podría a buscar cómo usar el motor de físicas Box2D
6
Preguntas y respuestas / Re:¿Método más sencillo de guardar una variable global?
Marzo 16, 2014, 07:56:04 PM
Simplemente escribe "global." adelante. Por ejemplo:
EDIT: No le des importancia a esto si vas a usar variables globales sólo al recoger objetos, ya que no deberías tener problemas
Lo único que te puedo decir es que tengas cuidado al ubicarlo, ya que por ejemplo si lo pones en el evento "create" del jugador la variable se reseteará en cada nivel ya que el jugador se crea al comienzo de cada nivel. Un evento más aropiado sería "game start", o la otra es usar una condición que se fije si el nivel actual es el primero:
Código [Seleccionar]
global.puntos = 14
EDIT: No le des importancia a esto si vas a usar variables globales sólo al recoger objetos, ya que no deberías tener problemas
Lo único que te puedo decir es que tengas cuidado al ubicarlo, ya que por ejemplo si lo pones en el evento "create" del jugador la variable se reseteará en cada nivel ya que el jugador se crea al comienzo de cada nivel. Un evento más aropiado sería "game start", o la otra es usar una condición que se fije si el nivel actual es el primero:
Código [Seleccionar]
if (room = nivel1) global.puntos = 14
7
Preguntas y respuestas / Re:¿Como hacer que mi personaje cambie al recoger objetos?
Marzo 13, 2014, 06:10:15 PM
O sea, con lo que dijo LowHertzs vos vas a poder hacer que el juego se acuerde de que si agarraste el escudo o no por ejemplo. Una forma sería que al principio del juego crees una variable global llamada "global.resistencia" y le pongas valor 0, pensando que 0 es nada de resistencia y 1 es resistencia total
Cuando agarre el yelmo modificás la variable global.resistencia y hacés que ahora sea un poco más resistente, por ejemplo haciendo que ahora sea 0.2
Luego cuando agarre el escudo hacés que aumente a 0.4 y así sucesivamente
Luego cuando el jugador reciba daño vas a tener que caclular el daño recibido teniendo en cuenta la resistencia, por ejemplo:
Cuando agarre el yelmo modificás la variable global.resistencia y hacés que ahora sea un poco más resistente, por ejemplo haciendo que ahora sea 0.2
Luego cuando agarre el escudo hacés que aumente a 0.4 y así sucesivamente
Luego cuando el jugador reciba daño vas a tener que caclular el daño recibido teniendo en cuenta la resistencia, por ejemplo:
Código [Seleccionar]
daño_recibido = fuerza_golpe * (1 - global.resistencia)
8
Preguntas y respuestas / Re:Como se añade un efecto creado en ParticleDesigner?
Marzo 13, 2014, 05:58:59 PM
Acá está la parte del manual relacionada con partículas
Viendo más o menos lo que dice en el manual podés ver que en el create iría esto:
Eso sería la "configuración", luego en el evento que quieras va esto:
Eso lo que hace es setear la ubicación y el tamaño del emisor y emitir partículas
Obviamente lo mejor es entender bien que hace cada función con este artículo de eduardo960
Viendo más o menos lo que dice en el manual podés ver que en el create iría esto:
Código [Seleccionar]
global.Sname = part_system_create()
particle1 = part_type_create()
part_type_shape(particle1,pt_shape_flare)
part_type_size(particle1,0.10,0.32,0.01,0)
part_type_scale(particle1,2.20,2.30)
part_type_color3(particle1,255,4227327,65535)
part_type_alpha3(particle1,0.57,0.50,0.01)
part_type_speed(particle1,2.44,4.19,0.03,0)
part_type_direction(particle1,-200,359,-20,0)
part_type_gravity(particle1,0,270)
part_type_orientation(particle1,0,0,0,0,1)
part_type_blend(particle1,1)
part_type_life(particle1,30,60)
emitter1 = part_emitter_create(global.Sname)
Eso sería la "configuración", luego en el evento que quieras va esto:
Código [Seleccionar]
part_emitter_region(global.Sname,emitter1,50,-50,50,-50,ps_shape_ellipse,1)
part_emitter_burst(global.Sname,emitter1,particle1,15)
Eso lo que hace es setear la ubicación y el tamaño del emisor y emitir partículas
Obviamente lo mejor es entender bien que hace cada función con este artículo de eduardo960
9
Preguntas y respuestas / Re:Avanzar en X da puntos.
Marzo 12, 2014, 11:14:58 PM
Eso depende del juego, debe ir en el mismo instante en que el jugador se mueve hacia la derecha. Si en algun lado del código del jugador hay algo similar a "x+=2" justo después tiene que estar el código de sumar un punto. Pero depende del juego, si me pasas todo lo que está adentro del objeto jugador (no hace falta pasarme todo el juego) te puedo decir donde va
PD: Me suelo conectar una vez al dia, no te desesperes si no contesto hoy ;D (sobre todo porque no se permite hacer doble post)
PD: Me suelo conectar una vez al dia, no te desesperes si no contesto hoy ;D (sobre todo porque no se permite hacer doble post)
10
Preguntas y respuestas / Re:colision entre 2 objetos y que uno ignore la colision?
Marzo 11, 2014, 07:26:11 PM
Yo pondría los dos objetos como no sólidos y buscaría la forma de que las colisiones funcionen bien ¿Exactamente qué es lo que no funciona de las colisiones? La forma más fácil sería poner en el jugador un evento de colisión con el objeto que baja en diagonal y poner ahí lo que necesites
11
Preguntas y respuestas / Re:Avanzar en X da puntos.
Marzo 11, 2014, 07:22:12 PM
Estas dando muy pocos detalles, primero, para guardar los puntos, se supone que lo mejor es usar variables
Entonces hay que hacer una variable llamada puntos al principio del juego y darle valor 0. Luego, cada vez que el jugador gane un punto sumarle 1 al valor de esa variable con "puntos+=1"
Lo único difícil es encontrar un lugar en donde sumar puntos, eso depende del juego. Se supone que va justo después de mover el jugador a la derecha
Otra es poner en un evento step de algun objeto
Eso se fija si aumenta la x del jugador, si aumenta se le aumenta 1 a la cantidad de puntos. Pero conviene poner al "puntos+=1" en el momento en que el jugador se mueve como puse antes
Entonces hay que hacer una variable llamada puntos al principio del juego y darle valor 0. Luego, cada vez que el jugador gane un punto sumarle 1 al valor de esa variable con "puntos+=1"
Lo único difícil es encontrar un lugar en donde sumar puntos, eso depende del juego. Se supone que va justo después de mover el jugador a la derecha
Otra es poner en un evento step de algun objeto
Código [Seleccionar]
if (obj_jugador.x > obj_jugador.xprevious) puntos += 1
Eso se fija si aumenta la x del jugador, si aumenta se le aumenta 1 a la cantidad de puntos. Pero conviene poner al "puntos+=1" en el momento en que el jugador se mueve como puse antes
12
Preguntas y respuestas / Re:Hacer un bounce de manera "elegante"?
Marzo 09, 2014, 11:06:04 PM
Lo que entiendo es que al seguir algún objeto que está del otro lado de la pared el objeto que sigue choca contra la pared hasta que encuentra camino. Lo único que se me ocurre es que hagas algún tipo de planificación de movimiento para que el objeto seguidor esquive obstáculos, el problema es que es algo un poco más avanzado, acá tenés las funciones del manual (es un manual de GM7, el GMStudio puede ser distinto)
13
Preguntas y respuestas / Re:Construcción niveles GM Studio (Problema)
Marzo 09, 2014, 11:00:00 PM
Es muy molesto? Lo que se me ocurre es que sea un error del indicador de objetos, a lo mejor al hacer zoom o mover en el editor de rooms un error del GM te muestra a tus objetos desplazados de alguna forma
14
Preguntas y respuestas / Re:Construcción niveles GM Studio (Problema)
Marzo 09, 2014, 05:27:31 PM
Podés pasar una imagen? No creo que puedan haber bloques invisibles. El nombre del objeto de ese bloque invisible puede ser una pista, así que podés fijarte bien cuál es el sprite de ese objeto, a lo mejor es grande y tiene un gran pedazo transparente, no se
15
Preguntas y respuestas / Re:¿Cuál es la fórmula exacta de la gravedad?
Febrero 24, 2014, 08:46:40 PM
EDIT: Me olvidé de decir que vas a odiar como van a quedar las caídas del juego, así que la respuesta corta para que quede divertido es poner vspeed+=0,001 en el evento step y limitar la velocidad de caída con if vspeed>0.1 vspeed=0.1 (también en step). Obviamente probá con distintos numeros para ver como queda
La fórmula que en realidad necesitarías es otra. Porque lo único que querés calcular es la aceleración (la fuerza no es necesaria)
Podés ver esta parte de Wikipedia, pero la cosa es que en la tierra todas las cosas caen a la misma velocidad (sin tener en cuenta el rozamiento) y si hacés los cálculos vas a ver que la aceleración de los objetos al nivel del mar en la tierra es de más o menos 9.8m/s2
Entonces en tu juego lo único que tenés que hacer es acelerar hacia abajo el personaje a 9.8m/s2. Para entender mejor que significa m/s2 podés pensar que por cada segundo, el personaje tiene que acelerar 9.8m/s, que es lo mismo que acelerar 35,3km/h en cada segundo. pero es más fácil medir la velocidad en m/s cuando hacés el juego:
Entonces cómo hacer eso en GM? Si usas la variable vspeed vas a tener que cambiar el valor en cada step. Si el personaje acelera 9.8m/s en un segundo ¿Cuánto acelera en cada step? Calculalo con 9.8/cantidaddestepsporsegundo y vas a obtener 0.3266m/s/step si la room_speed es 30
El problema ahora es que está la velocidad medida en metros/segundo, pero vspeed debe estar en píxeles/step. Entonces si dividimos 0.3266m/s/step/cantidaddestepsporsegundo con una room_speed de 30 tenemos 0,010888889m/step/step. Por último para pasar de metros a píxeles tenés que dividir 0,010888889m/step/step/pixelespormetro, píxeles por metro depende del tamaño de tu personaje, si tu personaje mide 2m y tiene un sprie de 32pixeles de altura, entonces pixelespormetro sería 16, quedando 0,00068055556pixeles/step/step
Entonces en el evento step tenemos que acelerar al personaje hacia abajo, lo podés hacer con vspeed+=0,00068055556
Espero que no haya hecho mal las cuentas :P
La fórmula que en realidad necesitarías es otra. Porque lo único que querés calcular es la aceleración (la fuerza no es necesaria)
Podés ver esta parte de Wikipedia, pero la cosa es que en la tierra todas las cosas caen a la misma velocidad (sin tener en cuenta el rozamiento) y si hacés los cálculos vas a ver que la aceleración de los objetos al nivel del mar en la tierra es de más o menos 9.8m/s2
Entonces en tu juego lo único que tenés que hacer es acelerar hacia abajo el personaje a 9.8m/s2. Para entender mejor que significa m/s2 podés pensar que por cada segundo, el personaje tiene que acelerar 9.8m/s, que es lo mismo que acelerar 35,3km/h en cada segundo. pero es más fácil medir la velocidad en m/s cuando hacés el juego:
Entonces cómo hacer eso en GM? Si usas la variable vspeed vas a tener que cambiar el valor en cada step. Si el personaje acelera 9.8m/s en un segundo ¿Cuánto acelera en cada step? Calculalo con 9.8/cantidaddestepsporsegundo y vas a obtener 0.3266m/s/step si la room_speed es 30
El problema ahora es que está la velocidad medida en metros/segundo, pero vspeed debe estar en píxeles/step. Entonces si dividimos 0.3266m/s/step/cantidaddestepsporsegundo con una room_speed de 30 tenemos 0,010888889m/step/step. Por último para pasar de metros a píxeles tenés que dividir 0,010888889m/step/step/pixelespormetro, píxeles por metro depende del tamaño de tu personaje, si tu personaje mide 2m y tiene un sprie de 32pixeles de altura, entonces pixelespormetro sería 16, quedando 0,00068055556pixeles/step/step
Entonces en el evento step tenemos que acelerar al personaje hacia abajo, lo podés hacer con vspeed+=0,00068055556
Espero que no haya hecho mal las cuentas :P