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

256
Tu codigo inicialmente esta bien, solo que debes tomar en cuenta dos cosas, uno el eje del sprite, y el otro la ubicacion Y del object.
Si el eje del sprite esta en 0,0,  El X-1 estara colisionando hacia la izquierda, pero hacia la derecha seria X+(sprite_width+1) para que detecte la colicion hacia la derecha.
Si el eje es central seria asi; X+((sprite_width/2)+1)  tambien hay que verificar la posicion Y para evitar que la colision sea detectada estando sobre el. Algo asi; si el eje del sprite esta normal es decir 0,0 seria; and (y-2 < other.place_meeting(x+1,y,obj_wall)) (ojo codigo no probado, en todo caso verifica la ID) la idea es que verifiques seguns tus ejes y la posicion. ya yo esto lo he hecho antes en Geometrix 2.  Lo malo es que tu usas  :GMS: y ese editable esta en  :GM6: no te sirve.
257
Preguntas y respuestas / Re:Ayuda con Swipe
Marzo 29, 2015, 04:05:36 PM
Me parece demaciado codigo para algo que puedes hacer simplemente comparando coordenadas entre el mouse_x/Y y el X,Y del personaje.
258
Preguntas y respuestas / Re:Algunas preguntas
Marzo 29, 2015, 04:03:14 PM
CitarPenumbra: Y hay un motivo para eso. Hacer escenas intro es casi imposible en GM. Digamos que es una de esas a las que GM nunca le puso atención (y creo , nunca le pondrá), por lo tanto, hacer la más mínima escena animada te va a llevar un trabajo enorme, tanto, que (en mi opinión) eso es por lo que no has encontrado información al respecto.
Difiero de esto pero mucho con demaciado. Si no sabes, Game maker cuando se creo por primera vez  fue hecho como un programa para hacer videos animados, para los estudiantes de Mark. El hecho es que si se puede hacer con el mismo Game maker, ahora en mis manos tengo varias, una muy buena que me hizo el amigo Derwin_GM, solo que no las muestro por que son para un proyecto en curso.
Lo que si puedo decir es que consumen muchos recursos y tiempo en hacer ese tipo de animaciones, por eso es que me voy mas por la parte de los historyboards ya que son mas faciles de crear menos recursos y logico menos tiempo.
Pero lo que el compañero aca pide es facil de hacer, ya que no altera el juego, solo es una animacion dentro del juego. Algo que es bien sencillo de hacer. El problema es que como dije cada animacion toma tiempo y una lista inmensa de codigos.
Para los menos experimentados, pueden usar Time_Line  y los Path. y controlado con algunas variables y/o condiciones (sentencias) queda super bien.
No doy el codigo, por que no tengo idea del guion que ha escrito, y como dije, no es un simple codigo, seria el equivalente a crearle un engine.
259
Preguntas y respuestas / Re:Saltar
Marzo 29, 2015, 03:54:26 PM
El codigo completo es este:

//Todo en el event Step.
if keyboard_check(ord("A")) and place_free(x-1,y) and (x >0)
{x-=1;}
//se movera hacia la izquierda.

if keyboard_check(ord("D")) and place_free(x+1,y) and (x<room_width)
{x+=1;}
//Se movera hacia la derecha.

if keyboard_check(ord("W")) and !place_free(x,y+1)
{vspeed=-2;}
//salta, solo si esta sobre suelo solido.

if vspeed < 16 and place_free(x,y+1)
{gravity=0.5}else{gravity=0;}
//si esta en el aire cae con efecto de gravedad.

//en el event de collision contra el obj_Suelo o como le llames.
move_contact_solid(direction, vspeed) vspeed=0;


Ese es todo el codigo que necesitas. Recuerda marcar la casilla Solid en el object que usas de piso.
260
Juegos completos / Re:Mini Super Smash con AI
Marzo 29, 2015, 03:28:31 PM
con gusto te ayudo en lo que se pueda. escribeme al correo y cuadramos. elviskelley@gmail.com
261
Preguntas y respuestas / Re:game_restart (duda)
Marzo 28, 2015, 01:37:05 AM
CitarPenumbra; "Si esta línea de tiempo fue creada en el árbol de recursos de GMS, se debe notar que se removerá completamente del juego y el tratar de llamar a la linea de tiempo de nuevo, después de usar esta función, causará un error."

Es exactamente lo que he dicho. Borraste la Time lime del exe, ya no existe, por mucho que reinicies no aparecerá, y por eso da error.
262
Preguntas y respuestas / Re:Storyboard o guion
Marzo 28, 2015, 01:34:41 AM
Pues, yo escribo libros, manuales, cuentos, poesia, etc... Y para mis juegos, la mayoria de las veces les hago un Guion y el borrador de historia. o cuento.
Pero no tengo a la mano ninguno, si gustas, te hago alguno de uno de mis juegos ya creados.
O algo nuevo tu dices.
263
la mejor forma de competicion es un score online, ya que todos podran verlo y asi todos querran superar al anterior.
Te dejo adjunto como hacerlo. El unico problema que tendras es que yo uso o  :GM6: o  :GM8: y tendras que descargarte el  :GM8: para poder ver el ejemlo que te dejo adjunto.
264
Preguntas y respuestas / Re:Escoger jugador
Marzo 27, 2015, 02:46:37 PM
Bueno, estoy creando una version variada de mi juego; "City Defender EK" en el cual integrare muchos botones, que traducido a tu caso serian muchos personajes, aunque lo que hago va mas complicado, lo escribi en papel y me tomo 8 hojas de codigo. El hecho es que de las distintas maneras que he ideado para simplificarlo, siempre se trabaja con arreglos (alrrays) por uno crea la lista alli y luego busca segun el indice. Te muesto como:

//En un object al inicio del juego creas el indice del array en var global.
global.indpersonajeP1=0; //este es la var global para ser usada como indice.
global.indpersonajeP2=0; //para el player 2.

//ahora creamos en el mismo event create, la lista de array con los personajes.
global.personaje[0]=obj_Elvis;
global.personaje[1]=obj_ElvisKelley;
global.personaje[2]=obj_Elvivito;
global.personaje[3]=obj_EK;

//En la pantalla de seleccion de personajes; hay dos maneras de hacerlo, uno que cada cuadro de personajes sea un object (metodo mas facil) o por coordenadas del mouse.
1.- Por objects.
Colocas varios objects, cada uno que muestre al personaje a escojer.
En el event mouse left pressed colocas.
global.indpersonajeP1= (aca va un numero que corresponde al personaje en la lista de array)
Ejemplo; si clickeas en el primero cambias el valor del indice global.indpersonajeP1=0; que corresponde al array a; obj_Elvis luego le toca escoger al player 2, y de igual forma a clickear cambias el indice de; global.indpersonajeP2=3; Si escogio al tercero corresponde al obj_EK.

Ya los personajes fueron escogidos, ahora vamos al room donde inicia todo y llamamos a los personajes escogidos.
En algun object que podrias llamarlo engine_personaje o control_personaje o como te parezca.
en su event create colocas.
instance_create(x,y,global.personaje[global.indpersonajeP1])
instance_create(x+96,y,global.personaje[global.indpersonajeP2])
De esta forma creara los personajes que escogiste.
Otra forma es que en vez de crear personajes completos, cambie los sprites a los juegadores a modo de aparentar que fueron personajes nuevos escogidos.

2.- La segunda manera es por coordenadas, es decir en vez de cuadros que representan a los personajes, se coloca coordenadas y se usa un fondo con las fotos de los personajes.
Ejemplo en el event mouse left pressed.
if (mouse_x > 0 and mouse_x <64) and (mouse_y>32 and mouse_y <96) then
{....} Como vez es encerrar por coordenadas la ubicacion de las imagenes de seleccion de personages.

3.- Se me ocurre una tercera opcion que sea unas flecha de seleccion, al clickear en las flechas cambia el valor del indice y muestra al personaje o una foto del personaje en el centro de la pantalla.
265
Preguntas y respuestas / Re:game_restart (duda)
Marzo 27, 2015, 02:28:43 PM
La verdad es que la funcion game_restart(); si reinicia el juego por completo incluso sus valores. Pero es probable se este afectando por algun codigo que has colocado. Recuerda que hay codigos que eliminan o destruyen recursos, objects, y demas... Si algun codigo lo afecta, no va a funcionar por un error tuyo.
Lo mas correcto es que uses modo debug, o verifiques como has colocado cada cosa.
266
Juegos completos / Re:Mini Super Smash
Marzo 26, 2015, 07:37:51 PM
Buen juego, concuerdo con el colega, coloca instrucciones de como jugar.
Como yo juego solo te he creado una IA para el jugador numero 2, o sea para que lo mueva la computadora en vez del jugador 2.
Coloca todo el siguiente codigo en el event End Step.

//verificar direccion a moverse.
if instance_exists(obj_pl1) and distance_to_object(obj_pl1) > 12
{
if ((obj_pl1.x < x) and !place_free(x-16,y+1)) then
{
keyboard_key_press(vk_left)
}
else
{keyboard_key_release(vk_left)}
//se movera hacia la izquierda siempre que exista suelo.

if ((obj_pl1.x > x) and !place_free(x+16,y+1)) then
{
keyboard_key_press(vk_right)
}
else
{keyboard_key_release(vk_right)}
//se movera hacia la derecha.
}

//saltar
if instance_exists(obj_pl1) and distance_to_object(obj_pl1) > 12
{
if ((obj_pl1.y+4 < y) and !place_free(x,y+1)) then
keyboard_key_press(vk_up)
else
{keyboard_key_release(vk_up)}
}

//bajar
if instance_exists(obj_pl1) and distance_to_object(obj_pl1) > 12
{
if ((obj_pl1.y-4 > y) and !place_free(x,y+1)) then
keyboard_key_press(vk_down)
else
{keyboard_key_release(vk_down)}
}


//usa un ataque elmas lejano
if instance_exists(obj_pl1) and distance_to_object(obj_pl1) > 16 and distance_to_object(obj_pl1) <96
{
keyboard_key_press(vk_numpad2)
}
else
{keyboard_key_release(vk_numpad2)}

//usa un ataque cercano
if instance_exists(obj_pl1) and distance_to_object(obj_pl1) < 16
{
keyboard_key_press(vk_numpad3)
}
else
{keyboard_key_release(vk_numpad3)}

//moverse en el aire
if instance_exists(obj_pl1) and distance_to_object(obj_pl1) > 12 and place_free(x,y+10)
{
if ((obj_pl1.x < x) and place_free(x,y+1)) and collision_line(x,y,x,y+80,obj_blq_padre,1,1) then
{keyboard_key_press(vk_left)}
else
{keyboard_key_release(vk_left)}

if ((obj_pl1.x > x) and place_free(x,y+1)) and collision_line(x,y,x,y+80,obj_blq_padre,1,1) then
{keyboard_key_press(vk_right)}
else
{keyboard_key_release(vk_right)}
}


267
Preguntas y respuestas / Re:¿Boton ''Share''?
Marzo 26, 2015, 07:23:16 PM
yo crearia un boton cualquiera o sea un object con forma de boton y  usaria execute_shell para envialo a la pagina web de like.
268
yo lo hago asi. Creo un object que sera el trails modifica la depth=1; y en su event End step colocas este codigo.
if (image_alpha >0) then {image_alpha-=0.1;}else{instance_destroy();}
//esto para que se devanecan poco a poco.

y en el object que deja la marca o sea que llamara a este object de efecto especial trail.
repeat(12){instance_create(x,y,objFXTrail);}
//esto para llamarlo, incluso es bueno condicionarlo con una variable y una sentencia if.
269
El codigo deberia ir en el event End step del oPlayer
y cambia un poco el codigo por este.

if place_meeting(x,y,obj_muro_oculto)
{
obj_muro_oculto.visible=false
}

else
{
obj_muro_oculto.visible=true
}
270
La cosa es que, cada uno tiene maneras distintas de hacer las cosas. por ejemplo, yo escribo los codigos en papel, y luego al pasarlo al GM los simplifico lo mas posible, ya que por lo general dejo los editables para que vean como lo he creado. Lo que quiere hacerte entender es que sin un ejemplo editable. o que muestres los codigos que usas, no podremos saber cual es tu error.