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

1
 :GMS: Saludos a todos . Esto es lo que quiero hacer con el sprite:
comienza con un sprite normal de un avion , al mantener presionado la tecla izquierda o derecha crear una secuencia de imágenes inclinándose a hacia cualquiera de las 2 posiciones con una velocidad de posición de sprite  (x+=8 ,x-=8) al mantener presionado la secuencia de imágenes debe llegar hasta el frame 3 y mantenerse allí pero al dejar de pulsar debe mostrar el frame 4,5,...   hasta volver a su posicion inical mientras que no alla ninguna tela presionada mostrar un sprite normal


yo me arme un lio buscando la respuesta .
armé un codigo pero no me salio bien

crate
sprite_index=spr_avion
image_speed=0.6

step
if (keyboard_check (vk _left)){
sprite_index= spr_avion_izquierda;
image_speed=0.4
x-=8;
}
if (keyboard_check (vk _right)){
sprite_index= spr_avion_derech;
image_speed=0.4
x+=8;
}
if (keyboard_check(vk_up)){
y-=8
}
if (keyboard_check(vk_down)){
y+=8
}


animation end

if (sprite_index=spr_avion_izquier){
image_index=3
sprite_index=image_index;
}

if (sprite_index=spr_avion_derech) {
image_index=3
sprite_index=image_index;
}

pero creo que todo esta mal  XD XD XD


la imagen se repite nuevamente no puedo hacer que pare cuando mantengo precionado la tecla izq der

.Detodasformas gracias por ver , ps : adjunte un gif (nose si podran verlo)





2
hola perdon por la molestia nuevamente ,pero estoy algo confundido, me preguntava cual es el comando para que un objeto se una con otro sin tener que dibujar varios sprites y sin escribir todo el codigo de movimento del objeto original , aqui el el ejemplo de un cuadrado que pasa por un circulo y el circulo se ubica en la parte superior del cuadrado aparentando ser uno con el cuadrado pero con distintas funciones
3
quisiera poder escribir como en un block de nota pero en un cuadro echo por mi dentro del juego ,la fuente no importa puede ser cualquiera tambien no entiendo  como definir bien el teclado para poder escribir sin sobrepasarse del cuadro que tambien esta echo por mi , sin tener que utilizar el cuadro negro de game maker ,
4
si quieres que el pesonaje dispare solo crea un "create" en el el objeto de la bala y escribes un codigo :
direction = //nombre del personaje o sprite (la letra se tiene que poner en amarillo)
speed = 8 //velocidad

y en el personaje la tecla con cual desas disparar
y el codigo :
instance_create(x,y,sprite5) //alli lo remplasas por el sprite de la bala
y con eso dispara junto a tu personaje
si es lo que buscabas
5
Preguntas y respuestas / Re:velocidad controlada
Mayo 15, 2015, 05:33:43 AM
Cita de: 3dgeminis en Mayo 15, 2015, 05:09:24 AM
Aver si entendi, queres que mientras se pulse la tecla por cada segundo se aumente la velocidad ?
Si es asi podes hacerlo de la siguiente manera:
CREATE
tiempo=0
velocidad=0

TECLA
if tiempo=room_speed*1 
                {
                  tiempo=0
                  velocidad+=1
                }
tiempo+=1

STEP EVENT
speed=velocidad


room_speed*1 si queres que sean 2 segundos cambia 1 por 2


no entiendo lo que pusiste, pero si ese codigo aumenta la velocidad del room no es lo que busco , mi juego es algo asi como de carrera osea mientras apreto una tecla el coche avansa pero no avansa bruscamente sino que va con una velocidad inicial hasta que llega a una velocidad maxima , pero eso lo quiero detallar porque con respecto a eso quiero hacer un medidor que controle la velocidad del coche ,el codigo es como segundo 1 = velocidad 0.2 asi hasta que enpiese el segundo 2 = velocidad 0.6 luego el segundo 3 = 1.4 y asi , de a poco ir aumentano para luego poner la velocidad en el medidor
6
Preguntas y respuestas / velocidad controlada
Mayo 15, 2015, 04:37:39 AM
hola estuve pensando si se podria controlar la velocidad de un objeto hacia una direccion ,en el juego quisiera apretar una tecla y que el objeto se mueva una cierta velocidad por segundo o 2 segundo mientras este apretando mas tiempo esa tecla que enpiese a contar los segundo e ir aumentando la velocidad indicada en el codigo ,espero que me entiendan .
7
Preguntas y respuestas / Re:gravedad
Diciembre 21, 2014, 06:45:46 AM
Cita de: Zela en Diciembre 21, 2014, 04:17:57 AM
Hola,
Te adjunto unas 3 imágenes graficas de la interpretación del código de Clamud.
La función lineal que menciona es sólo un valor que va de ]0,g[ de manera que se acerca al planeta dando la intensidad de la gravedad, o sea , si la nave esta más cerca al alcance su intensidad tenderá a 0, pero si se acerca al radio del planeta su intensidad aumenta hasta g.

Comparto lo que dice él
"... La gravedad máxima y el alcance se tendrán que decidir a base de prueba y error ..."

Saludos.
gracias pero lo que no entiendo es porque mi nave se adentraria al planeta ,soloquiero que colicione con el borde y tenga el alcance ,¿o es que si  se nesestia el radio para especificar la distancia que tendra la gravedad? ,y lo de las variables me preguntaba si se nesesitan algun comando como gravity o algo asi ,o si solo son numeros
8
Preguntas y respuestas / Re:gravedad
Diciembre 20, 2014, 11:28:30 PM
Cita de: Clamud en Diciembre 19, 2014, 09:46:59 PM
Se puede simular la gravedad con diferentes grados de realismo; una forma sencilla y muy aproximada a la realidad sería manejar la gravedad como una función cuadrática de la distancia al centro del planeta, pero para un juego de naves sería incómodo ya que la gravedad se hará muy fuerte al acercarse a un planeta, es mejor usar una relación lineal entre gravedad y distancia.

En tu juego, no se si los planetas tienen el mismo tamaño o la misma fuerza de gravedad, si es así, el código puede ir dentro del objeto nave, si no, es mejor que cada planeta ejecute los siguientes códigos:
[gml]
///Create de un planeta

r = //radio del planeta
g = //gravedad máxima del planeta (la que se siente en la superficie)
a = //alcance de la gravedad
[/gml]
En el objeto nave se van a modificar las variables speed y direction a causa de la gravedad:
[gml]
///Step de un planeta

d = point_distance( x,y, obNave.x,obNave.y ); //distancia
if( d < r ) f = g; //fuerza de gravedad = gravedad máxima
else if( d > a ) f = 0; //a esa distancia la fuerza de gravedad es cero.
else f = (d-a)*g/(r-a); //si la distancia está entre el radio y el alcance, la fuerza es una función lineal

if( f > 0 )
{
    k = point_direction( obNave.x, obNave.y, x, y ); //dirección en la que actúa la gravedad
    with( obNave ) motion_add( other.k, other.f ); //agregar la fuerza de gravedad al movimiento de la nave
}
[/gml]
Con esos códigos la nave ya puede reaccionar a la gravedad de los planetas que estén en la room, pero no está especificado un método para detener la nave al colisionar con los planetas, ni la forma en que la nave se va a propulsar. Para no escribir el código en cada objeto planeta usa un objeto parent (padre), todos los objetos hijos deben tener su propio código en el evento Create.

esta muy bueno pero no se cuanto mide el radio de mi  planeta ni como asignarle el alcanse o la gravedad maxima a las variables
9
Preguntas y respuestas / gravedad
Diciembre 18, 2014, 03:35:21 AM
hola a todos hace mucho hice una pregunta de como agregar una gravedad en el centro de un planeta ya que mi juego es de naves y mi personaje es una nave hasta alli estubo bien hasta que me di cuenta que es muy incomodo jugar con gravedad en todo el room porque solo atrae el planeta con gravedad ,poreso se me ocurrio preguntar si es que le puedo asignar un rango de atraccion del planeta osea un radio de distancia (porque mi planeta es redondo), se me ocurrio hacer una condicional con verdadero y falso pero nose como aplicarlas al juego
10
Preguntas y respuestas / gravedad
Diciembre 18, 2014, 03:29:54 AM
hola a todos hace mucho hice una pregunta de como agregar una gravedad en el centro de un planeta ya que mi juego es de naves y mi personaje es una nave hasta alli estubo bien hasta que me di cuenta que es muy incomodo jugar con gravedad en todo el room porque solo atrae el planeta con gravedad ,poreso se me ocurrio preguntar si es que le puedo asignar un rango de atraccion del planeta osea un radio de distancia (porque mi planeta es redondo), se me ocurrio hacer una condicional con verdadero y falso pero nose como aplicarlas al juego
11
Preguntas y respuestas / Re:efecto atraccion
Noviembre 20, 2014, 12:35:53 AM
Cita de: Clamud en Noviembre 19, 2014, 05:13:23 AM
Bueno hay que ir paso a paso. El efecto de atracción se puede lograr de esta forma:
[gml]
gravity = 0.1;
gravity_direction = point_direction( x,y, planeta.x,planeta.y );
[/gml]
ese código debe ponerse en el evento Step de la nave. Así la gravedad actúa con una magnitud constante en la dirección del planeta, pero se puede definir un comportamiento más detallado de la gravedad; se puede hacer que la fuerza de gravedad cambie de acuerdo a la distancia, que tenga un alcance máximo, que tenga una magnitud máxima, etc.
Explica si quieres que la gravedad tenga un efecto más específico.
¿Los planetas son completamente circulares?
¿Se puede interactuar con varios planetas a la vez, o sólo hay un planeta por nivel?
(La verdad es que si no tienes experiencia en programación ni en física te va a resultar más difícil de lo que crees).

Hasta luego.
Explica si quieres que la gravedad tenga un efecto más específico.
bueno quiero que atraiga un triple de su radio ,cuanto mas cerca mas atraiga
¿Los planetas son completamente circulares?
se
¿Se puede interactuar con varios planetas a la vez, o sólo hay un planeta por nivel?
en un solo room quiero que se ineractuen varios planetas a la ves , algo asi parecido a un centro urbano en AOE
(La verdad es que si no tienes experiencia en programación ni en física te va a resultar más difícil de lo que crees).
estoy estudiando progrmacion pero no programacion en juegos , sino en base de datos ,  administracion de empresas, lo basico, en cuanto a fisica mm emm . siempre me costo sobretodo en la preparatoria
ENDTIENDO QUE ESTO REQUIERE MUCHA LOGICA Y EXPERIENCIA CON TODO LO QUE ES FISICA EN MOVIMIENTO (mecanica) , es poreso que requiero de personas que me puedan ayudar. Muchas gracias por haber leido mi post
12
Preguntas y respuestas / efecto atraccion
Noviembre 18, 2014, 11:16:01 PM
hola comunidad estaba desarrollando un juego de naves y no pude encontrar este efecto que quiero para mi juego , es como un efecto de iman que atrae a mi nave, el objeto que atrae es un planeta en el espacio ,tambien otra cosa es que si la base  de la nave golpea fuerte que se destruya o si cae de picada tambien , pero si acienta la base de la nave lentamente se pueda posicionar junto al borde  planeta, si la neve esta destruida que aparesca en el borde del planeta , el planeta va a estar rodando en su propio eje , espero que no haiga inconveniente en cuanto a la vida porque tambin quiero que tenga una barra de salud , la nave tiene un codigo de inercia  para controlar la velocidad y tambien tiene una velocidad maxima , osea la nave ya esta creada con inercia y con velocidad de movimiento, con la tecla arriba inpulsa y las teclas derecha izquierda dan la direccion
13
Preguntas y respuestas / Re:efecto gravedad cero
Noviembre 09, 2014, 04:09:49 AM
Cita de: penumbra en Noviembre 08, 2014, 02:02:48 AM
Cita de: marron400 en Noviembre 08, 2014, 12:48:49 AM
disculpa pero no me funciono ,lo que quiero es restar el vector no aumentarlo mira en estep tengo esto:

Si quieres que la nave tenga inercia, la solución más fácil es la que propuso Clamud. El que la función se llame motion_add no quiere decir que siempre se sumen los valores. Se trata de una suma de vectores en la que se considera la dirección, por lo que si te mueves en una dirección y usas la función con una dirección contraria, el resultado no será una suma, sino una resta, que es lo adecuado para hacer que la nave cambie lentamente de dirección.

Usar fricción, como lo había propuesto, es más fácil que usar esto:
{
speed -= 0.08
if speed < 0 {speed = 0}
}


El detalle más importante es saber usar adecuadamente motion_add( image_angle, 1 ); Si se usa tal cual en STEP, el efecto de inercia no se va a lograr como quieres, porque, suponiendo que te mueves a 45° y luego quieres moverte a 135°, en cuanto gires la nave, y presiones la tecla de avanzar, la inercia (que se supone te debería "arrastrar" a 45° por un tiempo) se va a perder casi de inmediato y la nave se moverá hacia la dirección dada por image_angle, por lo que motion_add( image_angle, 1) se debe llamar sólo en el momento adecuado para respetar la inercia que ya trae la nave. O de otra forma, en lugar de 1, se debería usar un valor más pequeño para la velocidad, pero en esencia el código que puso clamud es lo que debrías usar.
gracias te debo mucho a ti y a clamud, em nose como se usa este foro ¿ funciona con puntos o algo parecido?, de igual forma si te sirvo para algo me lo dices
14
Preguntas y respuestas / Re:efecto gravedad cero
Noviembre 08, 2014, 01:20:09 AM
Cita de: penumbra en Noviembre 03, 2014, 09:38:43 PM
para rotar con las flechas , por ejemplo , en el evento de la tecla flecha derecha
[gml]image_angle -= 1[/gml]

Para propulsar la nave, en el evento de la tecla flecha arriba
[gml]
speed = 8
direction = image_angle
[/gml]

y en STEP de la nave
[gml]friction = 0.1[/gml]

Para disparar, en el evento de la tecla flecha abajo tienes que hacer algo como[gml]
if (disparar)
{
     instance_create(x + lengthdir_x(32, image_angle), y + lengthdir_y(32, image_angle), obj_bala);
     disparar = 0
     alarm[0] = room_speed * 0.5
}[/gml]

Evento alarma[0] de la nave
[gml]disparar = 1[/gml]

Eso a grandes rasgos, no esperes que funcione a la primera. Seguro le faltan cosas, como declarar la variable disparar en [CREATE] de la nave. Quizás no entendí bien lo de la propulsión, sobre todo lo de gravedad cero, ya que no recuerdo un juego de naves en el que no haya gravedad 0 (de lo contrario todo "caería" hacia algún lado)
porfabor respondeme amigo tu eres un maestro en codigos
15
Preguntas y respuestas / Re:efecto gravedad cero
Noviembre 08, 2014, 12:48:49 AM
Cita de: Clamud en Noviembre 06, 2014, 05:32:45 AM
Para que el movimiento se cambie lentamente puedes modificar el evento "flecha arriba" usando la función "motion_add":
[gml]
motion_add( image_angle, 1 );
if( speed > 8 ) speed = 8;
[/gml]
disculpa pero no me funciono ,lo que quiero es restar el vector no aumentarlo mira en estep tengo esto:
velocidadmax=10




if keyboard_check(vk_up) = true
{
speed += 0.09
if speed > velocidadmax {speed = velocidadmax}
}
else
{
speed -= 0.08
if speed < 0 {speed = 0}
}

y en up(arriva)esto:
direction = image_angle