#149 Si el problema persiste tras las soluciones, creo que lo mejor sería que subieras el archivo *gmk para echarle un ojo entre todos.
He comenzado a escribir en una página, gamedev.es y voy a hacer un tutorial sobre como realizar un juego en Game Maker, en este caso una aventura gráfica. Va a ser absolutamente para iniciarse en programación en Game Maker, para cualquier interesado, esta es la introducción, comenzaré la semana que viene y contestaré dudas bien en este tema de mediavida o en los comentarios en cada entrada de gamedev.
Buena iniciativa #153, pienso leerte porque me interesaba programar una aventura gráfica, la historia la tengo ya más o menos, y con esto ya tendré un buen arranque, esperando me hallo
#154 Me alegro de que te interese el tema. No tenía ganas de hacer un plataformas o un juego tipo minijuego, sino algo sencillo de hacer pero que haga un buen uso del tema variables y de funciones de ratón.
Te puedo adelantar que voy a incluir en el tutorial:
- Movimiento por ratón del personaje, para las animaciones nuestro amigo evento End Animation nos irá de perlas.
- Mezcla de objetos y inventario.
- Cambios del cursor del ratón según la acción que se pueda hacer.
- Y probaremos un sistema de dialogos multiidioma que estoy testeando y que hará más limpia la programación, al englobar todos los dialogos en los mismos scripts.
- La parte de los sprites, seguramente tendré ayuda de mi diseñador gráfico, pero estoy abierto a que entre todos los interesados vayais proponiendo el tema de la aventura, bocetos, colaborar con sprites, objetos de escenario,animaciones, y que salga una cosa divertida entre todos :-)
#155 Mola, por aquí tienes a otro seguidor. Para GM hay 298734 tutoriales de toda clase en internet, pero la mayoría son de plataformeros y se echan de menos géneros como este.
#155
Tengo una duda, a ver si me la puedes resolver:
Mi persoje salta y se mueve, pero cuando entra en colision con una pared y mueves a la derecha, el sprite se queda pegado a la pared.
Los scripts
#157 Creo que he encontrado el fallo, te lo pongo la solución en esas dos lineas.
if (x > view_xview[0]) and place_free(x-speedUp,y) x -= speedUp;
if (x + 16 < view_xview[0] + view_wview[0]) and place_free(x+speedUp,y) x += speedUp;
La cuestión es que aunque juegas con la vspeed y hspeed, al final el movimiento izquierda y derecha lo haces con coordenadas, así que se te quedaba atascado porque seguía moviendose hacia la izquierda o derecha sin tener en cuenta la vspeed, al añadir la comprobación a esas condiciones, deja de moverse si ve que se ha chocado.
Yo no suelo usar este método, pero parece que funciona, así que lo he probado y te lo he arreglado, espero que te sirva, un saludo!!
#158 Graciias ^^
Otra cosita hehe :3
Como puedo hacer que la View0 de mi room, siga al personaje como los juegos de Mario y cosas de ese estilo?
#159 Si la configuras desde la room, pon en el menu de views, la opción object following, eligiendo a tu objeto personaje.
#160 Es lo que hago, pero la camara solo se mueve cuando toco el borde, y yo quiero que me siga todo el rato u.u
yo pido ayuda por tos laos, pero nadie me save resolver esto:
mi codigo
Player normal - sprite1
player agachado - sprite2
player se acerca a un sitio bajo y se agacha para pasaro, te paras en medio del sitio bajo y el sprite vuelve a estar normal, eso es lo que me pasa y quiero que al pararse, se queda agachado
#166
#166 Perfecto, pero ahora al moverme a los lados, se me queda el sprite de agachado xD
#168 todo tuyo
http://www.mediafire.com/download/3fkib6ptyc70csb/prueba.gmk
600?!!
La madre de dios
#167 Es que sin probar el código directamente, es difícil pulirlo, yo uso algo similar, para mover a mi personaje, y son unas 600 líneas de código, entre agachados,saltos, caídas, movimientos, animaciones, reposo, ataque, etc.
Si quieres pásame en privado o por aquí, el proyecto y le echo un vistazo para pulírtelo, aunque no sé si tendré tiempo hasta el Domingo noche.
Intenta encontrar la razón de que se quede agachado. De todas formas, mi consejo es que dividas las acciones en tres fases:
keyboard_check_pressed // keyboard_check // keyboard_check_released
Así tendrás más control sobre lo que pasa cuando pulsas una tecla y sueltas, cuando tienes dos pulsadas a la vez, cuando sueltas las de andar puedes hacer que vuelva a la posición de reposo, que una anule a la otra si no te interesa y cosas así, un saludo ;-)
#167 He tenido algunos problemas de compatibilidad,imagino que usas game maker 8.
Mi primera recomendación es que llames de forma distinta los sprites de los objetos o no podré revisarte nada ( los sprites por ejemplo - spr_player y los objetos : obj_player)
Voy a intentar tocarlo a ver que consigo.
#167 Solucionado y te he pulido un poco el código también. En Game Maker lo realmente importante a la hora de hacer opciones, es que sólo se dibuja la última acción que hagas, dando igual lo que haya por en medio. Para solucionar ese fallo, he comprobado que no haya nada encima para que te levantes si estas agachado, pero si hay algo encima, pasan a sucederse el resto de opciones, si vas en un tunel seguirás agachado, aunque no tengas nada pulsado. Lo divertido es que cómo sólo se dibuja la última acción correcta, el jugador no ve que se ha agachado o levantado cuando no toca.
//controles
if (keyboard_check(ord('R')))
{
room_restart();
}
if place_free(x,y-10) {sprite_index = sPlayer;} // controla que si no hay nada encima, se ponga normal antes de comprobar el resto de opciones
if place_free(x, y) and (keyboard_check(ord('D')))
{
x += speedUp;
if place_free(x, y + 10) sprite_index = sPlayer;
}
if place_free(x, y) and (keyboard_check(ord('A')))
{
x -= speedUp;
if place_free(x, y + 10) sprite_index = sPlayer;
}
if (keyboard_check(vk_shift))
{
image_speed = 1;
sprite_index = sPlayerCrouch;
}
if (keyboard_check(vk_nokey)) and place_free (x + 0, y + 10)
{
if place_free (x -2, y + 0) { sprite_index = sPlayer; }
image_index = 0;
image_speed = 0;
}
if place_free(x, y) and (keyboard_check(ord('D'))) and (keyboard_check(vk_shift))
{
x += speedDown;
image_index = 0;
image_speed = 0;
}
if place_free(x, y) and (keyboard_check(ord('A'))) and (keyboard_check(vk_shift))
{
x -= speedDown;
image_index = 0;
image_speed = 0;
}
//jump
if place_free(x-speedUp,y) x -= speedUp;
vspeed += 1
if keyboard_check_pressed(ord('W'))
if place_free(x,y+10) == false
vspeed -= 17
if place_free(x,y+vspeed) == false
{
if vspeed > 0
move_contact_solid(270,-1)
if vspeed < 0
move_contact_solid(90,-1)
vspeed = 0
}
if place_free(x+speedUp,y) x += speedUp;
//colision
if(place_meeting(x+speedUp+20,y,oWall))
{
speedUp = 4;
}
if(place_meeting(x-speedUp-20,y,oWall))
{
speedUp = 4;
}
if(place_meeting(x,y+speedUp+20,oWall))
{
speedUp = 4;
}
if(place_meeting(x,y-speedUp-20,oWall))
{
speedUp = 4;
}
Aquí la 2º parte del tutorial que voy lanzando, hoy de conceptos básicos, pero no tan claros cuando estás comenzando..
#174 El enlace no va pero podeis descargar el game maker studio desde el link oficial:
http://store.yoyogames.com/downloads/gm-studio/GMStudio-Installer-1.2.1220.exe
Para registrarlo como standard, teneis que instalarlo y darle a obtener licencia standard - Register. La promoción sigue activa a día de hoy, pero daros prisa,no se sabe hasta cuando ;-)
Me ha llegado un correo para ofrecerme la actualización de la licencia a la profesional por 25 dolares, ¿merece la pena actualizar desde la standard por ese precio?¿Qué diferencias hay entre las versiones?
#177 La principal diferencia es que con la profesional podrás optar a comprar más modulos para más plataformas. Si vas a desarrollar sólo para PC y Mac, no vale la pena. Pero si piensas algún día pillarte los módulos de android o iphone,etc, pues es un buen precio.
#177 has hecho algo para que te llegue esa oferta? eres de la nueva horneada como yo que acabar de coger la versión standar free?
#179 Si me hice con la version standard gratuita y ayer me llegó el correo, la oferta finaliza el día 6 y aún no se que hacer xD