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.

Temas - cristopher2545

41
HOLA!  :) como saben eh estado trabajando en el proyecto beat em up y eh logrado añadir colisiones verticales y horizontales al juego y funcionaban del lo mejor ayer conseguí este código de este lugar https://marketplace.yoyogames.com/assets/759/top-down-shooter-engine:

// Actual collision checks + movement
var i;

// Vertical
for (i = 0; i < abs(v); ++i) {
    // UP slope
    if (place_meeting(x, y + sign(v), oParSolid) && !place_meeting(x - 1, y + sign(v+1), oParSolid))
        --x;
   
    if (place_meeting(x, y + sign(v), oParSolid) && !place_meeting(x + 1, y + sign(v+1), oParSolid))
        ++x;

    if (!place_meeting(x, y + sign(v), oParSolid))
        y += sign(v);
    else {
        v = 0;
        break;
    }
}

// Horizontal
for (i = 0; i < abs(h); ++i) {
    // Slopes
    if (place_meeting(x + sign(h), y, oParSolid) && !place_meeting(x + sign(h), y - 1, oParSolid))
        --y;
   
    if (place_meeting(x + sign(h), y, oParSolid) && !place_meeting(x + sign(h), y + 1, oParSolid))
        ++y;
         
    if (!place_meeting(x + sign(h), y, oParSolid))
        x += sign(h);
    else {
        h = 0;
        break;
    }
}

///////////////////////////////////////////////////////////////////////////////



este código funciona bien en colinas de 45 grados te permite deslizarte suavemente por ellas sin quedarte atorado y si estas junto a una colina y presionas arriba automáticamente se desliza por ella el problema es que solo funciona con angulos de 45 si tratas de meterle ángulos fuera de esa cifra deja de funcionar el código en vez de ser automático tienes que presionar las teclas de movimiento  y arriba o abajo al mismo tiempo para que el personaje se deslice.. si han jugado los leyend of zelda de antaño sabran a que me refiero con deslizarce

hay alguna forma de quitar el bloqueo de los 45 grados o hay algún código que funcione bien en las colinas? el codigo que yo usaba antes de obtener ese es este y hace lo mismo que el anterior si me pego a la colina y presiono los botones el personaje la sobe y la baja pero se atora un poco y no la sube de forma automatica:


if place_meeting(x,y+velv,obj_solid)
{
if directionv=0
move_contact_solid(90,-1)
if directionv=1
move_contact_solid(270,-1)
velv=0 //esta variable controla la velocidad de movimiento vertical


if place_meeting(x+velh,y,obj_solid)
{
if direction=0
move_contact_solid(180,-1)
if direction=1
move_contact_solid(0,-1)
velv=0 //esta variable controla la velocidad de movimiento horizontal


si alguien pudiera ayudarme seria genial! lo agradeceria mucho!  :)

dejo aquí el editable de lo que llevo para que todos puedan usarlo :) y para todos aquellos que usan studio lo pase a esa versión

Gracias :D


42
eh estado trabajando un poco en este pequeño proyecto que me tiene muy nervioso ya eh conseguido muchas cosas
estoy clonando el tan viejo juego de peleas Double dragon advance para el GBA pero añadiéndole cosas nuevas para mejorar un poco la experiencia de juego hasta ahora llevo

- salto del personaje con fisicas falsas [en realidad el personaje no salta como tal es una animación que se reproduce dando la ilusión de estar saltando este es el codigo de la misma]
jump=keyboard_check_pressed(vk_space)
switch(state)
     {
     case "idle":
         
           if (jump)
              {
              spawn=false
         
              zairSpd += 7;
              land=1
              state = "jump";
               
             
              }
          break;

     case "jump":
          z -= zairSpd
           if (z < zfloor)
               {
               zairSpd -= grav;
               }
          if (z >= zfloor)
              {
              z = 0;
              zairSpd = 0;
              if spawn=false
              {
              land=0
              state = "idle";
           break;
     }
}
}


z -= zairSpd
           if (z < zfloor)
               {
               zairSpd -= grav;
               }
          if (z >= zfloor)
              {
              z = 0;
              zairSpd = 0;
               if spawn=false
              {
              land=0
                 state = "idle";
           break;
     }
     }
}



-animaciones para cada angulo de caminar se puede caminar libremente en plano Z

- estoy a puntito de crear slopes y colisiones isometricas para crear diferentes escenarios

- y a diferencia del original en este clon puedes saltar en diagonal para tener mas movilidad ante todo


en esta imagen se puede ver lo que trato de hacer para crear un beat em up platformer eh estado jugando con variables de gravedad eh estado tratando de hacer que el salto tenga gravedad de verdad pero me ah sido inútil no eh logrado nada mas que el salto falso que aunque se ve bien me gustaría inovar un poco mas[esta imgen no es mia la tome de aqui: https://forums.tigsource.com/index.php?topic=10254.0 y la modifique para representar lo que trato de emular





dejare el editable de lo que llevo por si alguien quiere usar ese pequeño ejemplo esta en game marker 8 ya que estaba haciendo pruebas pero funciona en studio y también dejo un visual para que vean que es lo que llevo si alguien puede ayudar o tiene ideas de como hacer funcionar esto lo agradeceré!  ;)

video mostrando el avance https://www.youtube.com/watch?v=G_KAZcVGkD4