Noticias

Importante: ¡Si quieres publicar tu juego no olvides leer este tema!

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Autor Tema: Hola me podrian ayudar  (Leído 500 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado XxBL100xX

  • Visitante
  • *
  • Puntos: 13
  • Mensajes: 5
    • Ver Perfil
en: Agosto 16, 2019, 01:20:25 am
Bueno Primero que nada gracias por entrar y leer esto
Ire directo al grano :)
Estoy creando un juego de mario y pues el movimiento es muy seco me explico  en los juegos de mario se puede notar una aceleracion cuando se preciona la tecla de avanzar y buen pues quiero saber como hacer un tipo de aceleracion en game maker y cuando se deje de presionar la velocidad de la que estaba vaya bajando a 0 basicamente cuando se presiona la tecla aceleracion y cuando la deje de presionar friccion osea basicamente un smooth movement  conosco la variable lerp y friction pero no se como implementarlas en mi codigo bueno aca se los dejo


//Evento Create
//Variables
VelocidadP=3
VelocidadN=-3
Run=false
Stand=0
//Evento Step
//Sprites
if sprite_index=spr_MK_S_Stand_R {image_speed=0.4}
if sprite_index=spr_MK_S_Stand_L {image_speed=0.4}
if sprite_index=spr_MK_S_Walk_R {image_speed=0.4}
if sprite_index=spr_MK_S_Walk_L {image_speed=0.4}
if sprite_index=spr_MK_S_Walk_R && Run=true {image_speed=0.5}
if sprite_index=spr_MK_S_Walk_L && Run=true {image_speed=0.5}
//Variables de Velocidad
if keyboard_check_pressed(ord("X"))
{Run=true}
if keyboard_check_released(ord("X"))
{Run=false}
if Run=true
{VelocidadP=5}
if Run=true
{VelocidadN=-5}
if Run=false
{VelocidadP=3}
if Run=false
{VelocidadN=-3}
//Movimiento
if sprite_index=spr_MK_S_Stand_R
{hspeed=Stand}
if sprite_index=spr_MK_S_Stand_L
{hspeed=Stand}
if sprite_index=spr_MK_S_Stand_R && keyboard_check_pressed(vk_left)
{hspeed=VelocidadN; sprite_index=spr_MK_S_Walk_L}
if sprite_index=spr_MK_S_Stand_R && keyboard_check_pressed(vk_right)
{hspeed=VelocidadP; sprite_index=spr_MK_S_Walk_R}
if sprite_index=spr_MK_S_Stand_L && keyboard_check_pressed(vk_left)
{hspeed=VelocidadN; sprite_index=spr_MK_S_Walk_L}
if sprite_index=spr_MK_S_Stand_L && keyboard_check_pressed(vk_right)
{hspeed=VelocidadP; sprite_index=spr_MK_S_Walk_R}
if sprite_index=spr_MK_S_Walk_R && keyboard_check_pressed(ord("X"))
{hspeed=VelocidadP}
if sprite_index=spr_MK_S_Walk_L && keyboard_check_pressed(ord("X"))
{hspeed=VelocidadN}
if sprite_index=spr_MK_S_Walk_R && keyboard_check_released(ord("X"))
{hspeed=VelocidadP}
if sprite_index=spr_MK_S_Walk_L && keyboard_check_released(ord("X"))
{hspeed=VelocidadN}
if keyboard_check_released(vk_left) && sprite_index=spr_MK_S_Walk_L
{hspeed=0; sprite_index=spr_MK_S_Stand_L}
if keyboard_check_released(vk_right) && sprite_index=spr_MK_S_Walk_R
{hspeed=0; sprite_index=spr_MK_S_Stand_R}

a ver si me pueden ayudar gracias

 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado 3dgeminis

Respuesta #1 en: Agosto 16, 2019, 11:45:12 pm
Asi lo haria sin hspeed:
///CREATE
vel=0
vel_max=4
acel=0.2

///STEP
if keyboard_check(vk_right)  {if vel<vel_max {vel+=acel}}
if keyboard_check(vk_left)  {if vel>-vel_max {vel-=acel}}

if (!keyboard_check(vk_right) and !keyboard_check(vk_left))
  {
   if vel>0  {vel-=acel}
   if vel<0  {vel+=acel}
  }

x+=vel

 
Los siguientes usuarios dieron las gracias a este tema: XxBL100xX