Cita de: TheWood en Abril 16, 2016, 09:09:00 PM
No se si exactamente son 5 segundos :P ,pero funciona.
Muchisimas gracias Wood! Y perdona la tardanza, es que ando algo ocupado :D
Me sirvio y todo va perfecto
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.
Cita de: TheWood en Abril 16, 2016, 09:09:00 PM
No se si exactamente son 5 segundos :P ,pero funciona.
Cita de: Zardon00Games en Abril 16, 2016, 07:13:51 AM
pasa el editable en un archivo adjunto, para ver como funciona tu codigo
Cita de: eams1986 en Abril 16, 2016, 02:50:09 AM
Y los códigos que usas . :-\
Cita de: Lufor en Abril 10, 2016, 10:28:50 PM
En qué momento activas la view?? Tienes algún limitador en la view??
Estaría genial que pusieras el código o editable que utilizas (o al menos el que se supone que sirve para la view).
Cita de: Clamud en Marzo 22, 2016, 04:25:36 PM
Se puede hacer con un código como este en el evento Step:
[gml]
//ejes de movimiento (joystick)
jx = keyboard_check(vk_right) - keyboard_check(vk_left);
jy = keyboard_check(vk_down) - keyboard_check(vk_up);
//mantener en un rango circular
j = sqrt( jx*jx + jy*jy );
if( j > 1 ){
jx /= j;
jy /= j;
}
//mover al personaje
x += jx*v; //(v = velocidad)
y += jy*v;
//disparar
if keyboard_check_pressed( vk_space )
with instance_create( x,y, obj_bala )
{
speed = 12321; //velocidad de la bala
if( other.jy < 0 ) direction = 45;
else if( other.jy > 0 ) direction = 315;
else direction = 0; //direccion de la bala
}
//sprite del personaje
switch( jy ){
case -1: sprite_index = spr_arriba; break;
case 0: sprite_index = spr_frente; break;
case 1: sprite_index = spr_abajo; break;
}
[/gml]
Me gusta usar dos variables como si fueran los ejes de un joystick para evitar que el movimiento sea más rápido en diagonal.
La dirección de la bala también se podría asignar con un switch-case, como se hace con el sprite. Revisa la velocidad de la bala, porque puse un valor exagerado.
Cita de: Clamud en Marzo 22, 2016, 07:08:09 AM
Antes de poderte ayudar es necesario que nos digas qué tipo de juego quieres hacer y cómo son los controles.
Y pues para aprender GML, lo mejor es seguir tutoriales y leer el manual, al mismo tiempo vas a aprender a programar. Sin embargo, muchas veces la información que se da en los tutoriales no es muy precisa, por lo que te aconsejaría aprender un lenguaje de programación más formal, como C. Existen muchos libros sobre C, fáciles de seguir, por ejemplo el de Deitel Deitel. No te desesperes, para ser un programador experto se necesitan muchos años de estudio, a menos que seas un genio.
Cita de: Clamud en Marzo 16, 2016, 08:59:22 PM
Primero la vista se tiene que mover con una velocidad constante:
[gml]
//Evento Step
view_xview[0] += valor1;
view_yview[0] += valor2;
[/gml]
valor1 y valor2 deben ser mayores a 1, de lo contrario la vista no se moverá, esto es porque las variables de la vista se redondean automáticamente.
Si quieres que la vista tenga un movimiento más lento debes usar unas variables personalizadas:
[gml]
//Evento Step
x_vista += valor1;
y_vista += valor2;
view_xview[0] = x_vista;
view_yview[0] = y_vista;
[/gml]
El personaje debe tener el mismo desplazamiento de la vista, y para que no se salga, hay que revisar su posición relativa a la vista:
[gml]
{ /*código de movimiento del personaje*/ }
//desplazar como la vista
x += valor1;
y += valor2;
//revisar posicion
if( x < view_xview[0]+(anchura/2) ) x = anchura/2;
if( x > view_xview[0]+view_wview[0]-(anchura/2) ) x = view_wview[0]-(anchura/2);
if( y < view_yview[0]+(altura/2) ) y = altura/2;
if( y > view_yview[0]+view_hview[0]-(altura/2) ) x = view_hview[0]-(altura/2);
[/gml]
anchura y altura son las dimensiones de la máscara de colisión, y se dividen entre 2 porque se supone que está centrada en la posición de la instancia, esos valores debes escribirlos de forma explícita.
Cita de: Marth en Marzo 14, 2016, 12:20:15 AM
Como en esta imagen.
Cita de: NiuWeb en Marzo 13, 2016, 10:25:38 PM
Sólo como apunte, mientras el personaje se encuentre cerca a los bordes de la room, la view no lo seguirá puesto que se saldría de la pantalla.
¿Podrías hacer un GIF o algo por el estilo para poder apreciar mejor tu problema?
Cita de: Marth en Marzo 13, 2016, 10:48:10 PMCita de: NiuWeb en Marzo 13, 2016, 10:25:38 PM
Sólo como apunte, mientras el personaje se encuentre cerca a los bordes de la room, la view no lo seguirá puesto que se saldría de la pantalla.
¿Podrías hacer un GIF o algo por el estilo para poder apreciar mejor tu problema?
Cierto, pero yo me encontre casos en los que alterando xview la camara seguia al objeto a pesar de que se salio de la pantalla, activandose eventos de outside room y intersect boundary.
Tambien tendra que recordar que como minimo, el objeto se ubica en el centro de la pantalla, por lo que puede probar con aumentar el xorigin.
Page generada en 0.047 segundos con 12 consultas.