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

316
Gracias Clamud. Pero no entiendo. Porque tendria que desactivar el evento Draw??

Cita de: Clamud en Noviembre 21, 2015, 03:30:51 PM
Desactiva el evento Draw colocando ahí un comentario o la acción "Exit event".
317
Buenas, otra vez ando por aqui.

El problema que tengo, es que dibujo un objeto en el evento draw gui para que siga siempre en su posicion a la camara.
Hasta aqui todo funciona.

Pero ocurre algo mas, a parte de dibujarse correctamente, permanecer siempre en su posicion vaya a donde vaya la camara.

Resulta que además, se vuelve a dibujar en otra parte mas, y permace estatico. Creo que lo hace en la posicion donde coloque el objecto en la room.

Como puedo evitar que se dibuje dos veces??

Ademas, el objecto es creado si sprite. No lo entiendo.

He probado tambien con utilizar en Draw Gui la funcion draw_sprite_ext. Pero solo me dibuja la imagen 0 de las 6 que esta compuesta el sprite.

Asi que estoy desesperado!!!!

Os adjunto una imagen con el codigo que utilizo, espero me echeis una mano!!!
318
Preguntas y respuestas / Re:HACER BOTAR UNA PELOTA.
Noviembre 21, 2015, 01:31:38 PM
Muchas gracias Penumbra, le echare un ojo a tu ejemplo.

Mi idea es una pelota de futbol, que al chutar esta coge altura y al volver a caer, deberia de rebotar.

Bueno el ejemplo que me has pasado y lo estudiare, a ver si me sirve.

Muchas gracias.

Cita de: penumbra en Noviembre 19, 2015, 08:23:42 PM
Cita de: nonoroman en Noviembre 19, 2015, 01:43:22 PM
He estado mirando en el manual y no explica mucho, la verdad es que no entiendo bien como funciona. ??? ???
Lo que pasa es que no hay mucho que explicar, la función simula un rebote, sin más. sólo es cuestión de llamarla. La puedes llamar en STEP, pero no es necesario, la puedes llamar también en un evento de colisión, y sólo se ejecutaría cuando ocurra dicha colisión.

Cita de: nonoroman en Noviembre 17, 2015, 08:10:21 PM
Y otra es. Como mido el punto donde inicio el rebote
Bueno, se puede medir, ¿pero para qué quieres hacerlo? Si es para controlar el rebote, por ejemplo, la altura máxima que alcanza medida desde el piso, no es necesario. Dejo un ejemplo muy sencillo que más o menos se comporta como un rebote realista, usando lo que te dijo Black_cat.
http://www.mediafire.com/download/cja4hwl580ba38n/rebote_simple1.gmz
319
Preguntas y respuestas / Re:HACER BOTAR UNA PELOTA.
Noviembre 19, 2015, 01:43:22 PM
Gracias Black_Cat pero no se exactamente como funciona esa funcion (move_bounce)

He estado mirando en el manual y no explica mucho, la verdad es que no entiendo bien como funciona. ??? ???

Cita de: Black_Cat en Noviembre 17, 2015, 09:49:40 PM
Calculo que puedes usar gravity para que la velocidad vertical vaya disminuyendo gradualmente y solo bastaría con usar por ejemplo la funcion move_bounce(...);
creo que con eso nada más ya podés hacer que se vea decente. Pero ahora si querés usar físicas, ahí ya no sé  XD
320
Preguntas y respuestas / HACER BOTAR UNA PELOTA.
Noviembre 17, 2015, 08:10:21 PM
Buenas, ya tengo el rebote hecho gracias a un gran ejemplo que me paso Clamud.

Ahora necesito hacer botar la pelota de la manera mas real posible.

Creo que aqui entraria en funcionamiento a funcion gravity. Os comento el juego es de cuatrodirecciones (derecha-izquierda, arriba-abajo.)

Si utilizo el eje de la y para hacer el bote de la pelota. Como hago para que no parezca que la pelota sube hacia arriba, sino que esta botando??

Y otra es. Como mido el punto donde inicio el rebote
No se si me explico.

Bueno espero vuestra ayuda una vez mas.

Saludos a todos!!!
321
Para cosas asi yo suelo utilizar las alarmas.

Echale una ojeada al tema de las alarmas.

Deberia de hacer algo asi;

if distance_to_object(obj_player1)<= 150
lanzar golpe
alarm[0] = 60;

y dentro de la alarma, vuelve a comprobar la condicion y a lanzar el otro golpe.

Pruebalo, deberia de funcionarte.

Cita de: yokaiworld en Noviembre 16, 2015, 08:36:58 PM
Que un personaje lance un golpe haga una pausa y vuelva a lanzar otro, si se encuentra a cierta distancia
if distance_to_object(obj_player1)<= 150
lanzar golpe
hace pausa
si se encuentra en rango lanzar otro golpe y asi sucesivamente
gracias
322
Preguntas y respuestas / Re:REBOTAR LA PELOTA CONTRA PARED
Noviembre 16, 2015, 09:15:01 PM
Muchas gracias Clamud, acabo de ver el ejemplo que me has enviado y es justo lo que necesitaba.
Funciona perfecto. Gracias.

Cita de: Clamud en Noviembre 16, 2015, 05:32:56 PM
Para que el rebote sea natural, la pelota no debería dirigirse siempre al punto (PASEX,PASEY), y tampoco se debería signar a friction un valor negativo porque eso aumenta la rapidez.

Para calcular el rebote se necesita saber la dirección perpendicular a la superficie de contacto, eso depende del diseño de los niveles. Supongo que usas una habitación rodeada con bloques y el modo de juego es algo parecido a billar, adjunto un archivo de ejemplo.

Para que la pelota se detenga al llegar al punto de pase podrías comparar la distancia con un valor determinado, y si es menor capturar la pelota.
323
Preguntas y respuestas / Re:REBOTAR LA PELOTA CONTRA PARED
Noviembre 16, 2015, 06:17:46 PM
Muchas gracias por vuestras respuesta.

Si Clamud la idea es esa un rebote tipo billar. El archivo que me has adjuntado, como se abre?? Yo uso el game maker studio

Cita de: Clamud en Noviembre 16, 2015, 05:32:56 PM
Para que el rebote sea natural, la pelota no debería dirigirse siempre al punto (PASEX,PASEY), y tampoco se debería signar a friction un valor negativo porque eso aumenta la rapidez.

Para calcular el rebote se necesita saber la dirección perpendicular a la superficie de contacto, eso depende del diseño de los niveles. Supongo que usas una habitación rodeada con bloques y el modo de juego es algo parecido a billar, adjunto un archivo de ejemplo.

Para que la pelota se detenga al llegar al punto de pase podrías comparar la distancia con un valor determinado, y si es menor capturar la pelota.
324
Preguntas y respuestas / REBOTAR LA PELOTA CONTRA PARED
Noviembre 16, 2015, 02:49:40 PM
Buenas chicos, pues llevo un par de dias dandole vueltas a una situacion que me surgido.

Os explico la idea y os pongo el codigo,
El caso es que tengo una pelota que al chocar con la pared, esta debe rebotar, pero quiero que el movimiento sea lo mas real posible teniendo en cuenta la distancia recorrida antes de chocar con la pared, y la fuerza ya imprimida y perdida. No se si me explico bien. Que sea un rebote lo mas logico y razonable posible.

Para crear el movimiento de la pelota, utilizo el siguiente codigo;

pasedistancia = point_distance(x,y, (global.PASEX, (global.PASEY));
move_towards_point((global.PASEX), (global.PASEy), min(20, pasedistancia));

con una friction de -1 para que la pelota vaya persiendo velocidad mientras avanza.

global.PASEX y global.PASEY son las coordenadas X e Y del click del raton, es decir, hacia donde se dirige la pelota.

En el caso de que antes de que llegue a pararse, y chocase con una pared. Quiero realizar el movimiento de rebote lo mas natural posible.

Para ello, habia pensado ejecutar en el momento de la colision con la pared, otro move_towards, con los nuevos varoles, teniendo el espacio ya recorrido y la fuerza ya perdida.

EL caso es que al realizar el nuevo move_towards me funciona, la pelota rebota, pero esta lo hace de manera ilogica y nada natural, volviendo a imprimir mas velocidad, y mas disntancia.

Asi que como puedo, sacar los valores del espacio, recorrido y la velocidad ya imprimida.

Bueno espero vuestro ayuda, porque ya llevo 2 dias con este problema, estoy casi apunto, pero no termino de perfilarlo perfecto.

Espero vuestra ayuda como siempre, que nunca me fallais. Saludos a todos!!!!  ;)
325
Creo que tienes un poco de lio, jejeje.
Las variables, siempre tienen que crearse, en el CREATE, en el caso de que no las estes usando dandole un valor, por ejemplo 0.

Tu pregunta, creo que mas bien seria, si la variable coge valor, entonces ejecuta tal.

Pero para entender esto deberias de explicar un poco mas la idea.

Bueno espero haberte ayudado.


Cita de: NiuWeb en Noviembre 13, 2015, 06:16:00 PM
Hola a todos, tengo una pequeña y probablemente tonta pregunta:

Tengo una pieza de código, quiero ejecutarla únicamente si una variable ha sido creada, me explico un poco:
[gml]
if variable_exists(variable) = true //Código Fake...xD
{
   //Ejecutar código
}
[/gml]
a ver si me expliqué...xD
326
Oleee penumbra tio, eres el mejor.

Te sabes todos los trucos. Me funciona perfecto. Muchas gracias tio. Siempre me ayudas mucho. Te debo lo que no esta escrito.

Muchas gracias de verdad.  ;D

Con tu permiso y si quieres te pondre en los creditos, que menos.

Saludos y super agradecido. ahora voy a continuar. Gracias.

Cita de: penumbra en Noviembre 06, 2015, 08:08:35 PM
Mejor te respondo por aquí y elimino el otro post. Puedes usar una "bandera".

En el objeto en donde quieres lanzar la alarma, declara (CREATE) una variable, por ejemplo
[gml]colision = false[/gml]

Cuando se produzca la colisión, por ejemplo, en el evento de colisión, usas esa variable (bandera) para llamar por ÚNICA vez a la alarma, así:
[gml]
if (!colision)
{
     alarm[0] = valor_deseado
     colision = true                   //Al siguiente step, esta condición ya no será verdadera y no se sobreescribirá la alarma
     
}
[/gml]
327
Preguntas y respuestas / LLAMAR ALARMA DESDE UNA COLISION
Noviembre 06, 2015, 08:02:02 PM
Buenas otra vez ando por aqui. Solucione el tema de llamar a la alarma desde el step con el truco de elviskelley, dividiendo un numero entre la room_speed

El caso es que ahora, necesito llamar una alarma cuando se produce una colision. Y me encuentro que sucede algo parecido.
Mientras los objectos colisionan la alarma no cuenta. y cuando los objectos dejan de colisionar, entonces la alarma cuenta los pasos y despues se ejecuta.

He probado con introducir en los pasos de la alarma el truco de numero/room_speed pero en este caso no funciona.

Asi que me estoy volviendo loco con el tema de llamar las alarmas, con lo bien que se le da la alarma de mi despertador todas las mañanas. jajajajjaa.

Bueno, espero que me echeis una mano.

Saludos a todos.
328
te faltan los parentesis en el if (place_meeting(x,y,objectoTAL))

SUERTE!!!

Cita de: kostra en Noviembre 06, 2015, 05:28:43 PM
Una imagen para que vean...
https://gyazo.com/329f67f03464454c968e5a7c82509ae8

Al compilar me salen errores de que cierto script necesita dos argumentos... 2 argumentos son los que hay puestos, pero le da la gana de decirme que solo he puesto uno... por qué me pasa a mí esto?? T_T xD

ah, antes de que me lo pidan... aquí el script:
https://gyazo.com/e0814b881f1acc9a7dfc0b9bfbff468f
329
Preguntas y respuestas / Re:CREAR ALARMA EN EL STEP
Noviembre 06, 2015, 07:56:40 PM
Buenas otra vez ando por aqui. Solucione el tema de llamar a la alarma desde el step con el truco de elviskelley, dividiendo un numero entre la room_speed

El caso es que ahora, necesito llamar una alarma cuando se produce una colision. Y me encuentro que sucede algo parecido.
Mientras los objectos colisionan la alarma no cuenta. y cuando los objectos dejan de colisionar, entonces la alarma cuenta los pasos y despues se ejecuta.

He probado con introducir en los pasos de la alarma el truco de numero/room_speed pero en este caso no funciona.

Asi que me estoy volviendo loco con el tema de llamar las alarmas, con lo bien que se le da la alarma de mi despertador todas las mañanas. jajajajjaa.

Bueno, espero que me echeis una mano.

Saludos a todos.

Cita de: elviskelley en Noviembre 05, 2015, 03:47:07 PM
Se repite la orden del tiempo de ejecucion, por lo cual el tiempo nunca avanza, ejemplo; dices que la alarm0es 5, luego se repide 30 veces por segundo, donde vuelve a decir que la alarm es 5. siempre actualiza el conteo.
si colocaras alarm
  • =5*room_speed; ya seria otra cosa.
330
Preguntas y respuestas / Re:DETENER MOVE_TOWARDS
Noviembre 05, 2015, 06:06:41 PM
Hostias, este programa la verdad, es que ayuda aprender codigo, no esta mal. Lo tendre en cuenta.

Para solucionar mi problema para parar a move_towards, finalmente he utilizado otro metodo en el step, y de momento parece que me funciona. Aunque tengo que perfilar cosas pero creo que me vale.

Gracias a todos!!! kostra te debo salir en los creditos por el programilla, esta bastante bien.

Cita de: kostra en Noviembre 04, 2015, 08:00:11 PM
esto te ayudará muchisimo como lo ha hecho conmigo y supongo que mucha más gente :P
http://www.comunidadgm.org/index.php?page=verdescargas&accion=descargaD&download_id=157

está algo incompleto, pues se hizo para una versión muy antigua de GM, pero si buscas en google hay versiones más recientes, te he puesto ese ahora porque ando con prisa, pero si no encuentras, dilo y ya te pasaré uno más reciente ;)