bueno soy nuevo en esto y estoy creando un personaje ya se puede mover a la derecha e izquierda sin problema pero cuando presiono para abajo el gif que le tengo designado queda en un loop ( se repite ) quisiera saber que puedo hacer para que se quede abajo con la imagen del ultimo sprite mientras mantengo apretado abajo eso gracias de antemano
pd:no se nada de codigos :P
hola.. puedes crear en tu personaje una variable..
img_max=5;// pon aqui el numero de subimagen de tu sprite agachado en la que quieras que se quede
y ahora en step:
if sprite index=spr_agacharse{ //cambialo por el nombre de tu sprite agachandose
if image_index>img_max{image_index=img_max}// limitacion de la imagen
}
Cita de: omick en Enero 17, 2015, 03:39:30 AM
hola.. puedes crear en tu personaje una variable..
img_max=5;// pon aqui el numero de subimagen de tu sprite agachado en la que quieras que se quede
y ahora en step:
if sprite index=spr_agacharse{ //cambialo por el nombre de tu sprite agachandose
if image_index>img_max{image_index=img_max}// limitacion de la imagen
}
tengo otro problema hice que el personaje se agachara pero no hace la animacion completa pasa de parado a agachado ocupando solamente el ultimo sprite se ¨spr_agachado¨
te dejo el codigo
if keyboard_check (vk_down)
{
image_index = 4
image_speed = 0.4
sprite_index = spr_agachado_derecha
}
if keyboard_check_released (vk_down)
{
sprite_index = spr_agachado_derecha
image_index = 0
image_speed = 0
}
Cita de: newfagnewfag en Enero 24, 2015, 06:04:39 AM
tengo otro problema hice que el personaje se agachara pero no hace la animacion completa pasa de parado a agachado ocupando solamente el ultimo sprite se ¨spr_agachado¨
No hace la animación porque eso lo que le estás indicando:
image_index = 4En lugar de que la animación comience en la subimagen 0, luego avance a 1, 2, 3, etc, tú le estás indicando que en cuanto se presione la tecla de flecha abajo, cambie inmediatamente a la subimagen 4, por eso no se muestra la animación como debe ser.
No hace la animación porque eso lo que le estás indicando:
image_index = 4
En lugar de que la animación comience en la subimagen 0, luego avance a 1, 2, 3, etc, tú le estás indicando que en cuanto se presione la tecla de flecha abajo, cambie inmediatamente a la subimagen 4, por eso no se muestra la animación como debe ser.
[/quote]
ok, se le cambie a 0 y el personaje se queda quieto :-\
Prueba poniendo otra condicion:
if keyboard_check (vk_down) and sprite_index!=spr_agachado_derecha{image_index = 0;image_speed = 0.4sprite_index = spr_agachado_derecha}
Cita de: omick en Enero 24, 2015, 07:19:18 AM
Prueba poniendo otra condicion:
if keyboard_check (vk_down) and sprite_index!=spr_agachado_derecha{image_index = 0;image_speed = 0.4sprite_index = spr_agachado_derecha}
tampoco help please :'(
Cita de: newfagnewfag en Enero 24, 2015, 07:08:51 AM
ok, se le cambie a 0 y el personaje se queda quieto :-\
Como el código está en STEP, NO SE DEBE especificar ninguna subimagen en particular, sino darle simplemente velocidad a la animación. Para asegurar que la animación siempre comience en la subimagen 0, en el evento de tecla DOWN PRESSED se puede poner
[gml]image_index = 0[/gml]
que es el evento correcto para especificar un valor individual de subimagen, porque a diferencia de STEP, sólo se ejecuta una vez al presionar la tecla
En síntesis:
[STEP][gml]
if keyboard_check(vk_down) and sprite_index != spr_agachado_derecha
{
sprite_index = spr_agachado_derecha
image_speed = 0.4
}[/gml]
[Evento Tecla DOWN PRESS]
[gml]
image_index = 0
[/gml]
Como el código está en STEP, NO SE DEBE especificar ninguna subimagen en particular, sino darle simplemente velocidad a la animación. Para asegurar que la animación siempre comience en la subimagen 0, en el evento de tecla DOWN PRESSED se puede poner
[gml]image_index = 0[/gml]
que es el evento correcto para especificar un valor individual de subimagen, porque a diferencia de STEP, sólo se ejecuta una vez al presionar la tecla
En síntesis:
[STEP][gml]
if keyboard_check(vk_down) and sprite_index != spr_agachado_derecha
{
sprite_index = spr_agachado_derecha
image_speed = 0.4
}[/gml]
[Evento Tecla DOWN PRESS]
[gml]
image_index = 0
[/gml]
[/quote]
funciona :), pero :o el sprite se repite :-\
Sabía que esa iba a ser la próxima pregunta. Para solucionar eso, en STEP agrega esto
[gml]if (sprite_index == spr_agachado_derecha) and (image_index >= image_number - 1)
image_speed = 0[/gml]
Cita de: penumbra en Enero 24, 2015, 08:02:19 AM
Sabía que esa iba a ser la próxima pregunta. Para solucionar eso, en STEP agrega esto
[gml]if (sprite_index == spr_agachado_derecha) and (image_index >= image_number - 1)
image_speed = 0[/gml]
me funciono gracias pero tengo otra pregunta por que no me puedo agachar mas de una vez en el mismo lugar ?