Onde as mentes criativas se encontram!


 
Avatar do usuário
AdrianoPpaula
Membro
Membro
Autor
Mensagens: 37
Registrado em: Qui Ago 27, 2015 5:56 am
Localização: Quissamã RJ

Contato:

Re: [90%]Movimentação em rampa simples ajuda

Seg Jul 31, 2017 5:18 pm

Fala ai pessoal blz ^^ 
Não sei se pode ressuscitar tópicos antigos mas só falta um esclarecimento a respeito dessa programação de rampa. Ultimamente adicionei mais elementos no jogo como plataformas fantasmas e lugares com teto para que o personagem não pule. atualmente o código está dessa maneira:


STEP - VARIÁVEIS VALORES
/// MOVIMENTAÇÃO VARIAVEIS
if noar= true {gravity=0} else {gravity=1.9};
margem= 9;
velocidade= 8;
pulo= 26;

//configurações de botões
esquerda = vk_left;
direita = vk_right;
cima = keyboard_check(ord("X"));
b_ataque= keyboard_check(ord("C"));


STEP - MOVIMENTAÇÃO
// COLISÃO COM CHÃO
if vspeed >=0 and !place_free(x,y + vspeed + 2) {  
move_contact_solid(270,vspeed +2); 
  vspeed = 0;
  gravity = 0;
 noar= false;
} else {hspeed=0}

//================================


// DIREITA
if direita and (!cima) {
   for (i=0; i<=margem; i+=1;){ 
        if place_free(x+velocidade,y-i) {
            hspeed= + velocidade; image_xscale=1 ;
            y-= i; exit;
        }
    }
} else { hspeed=0; direita= false };

// ===============================================

// ESQUERDA
if esquerda and (!cima) {
    for (i=0; i<=margem; i+=1;) { 
        if place_free(x-velocidade,y-i) {
            hspeed= -velocidade; image_xscale=-1;
            y-= i; exit;
        }
    }
} else { hspeed=0; esquerda= false }; 

//==========================================================

// PULO
if cima=true and noar= false {  
for (i=0; i<=margem; i+=1;) { 
    if place_free(x,y-i){
    vspeed = -pulo;
    y-=i exit;
    }

if place_free(x,y+1){
     vspeed = gravity;
    }
} {cima=false}


Então depois de muito tempo o código está polido e funcionando perfeitamente em todas as mecânicas do jogo só existe 3 erros que estão me atormentando (já to 2 dias seguidos e nada até agora)

1. O personagem misteriosamente fica grudado somente na quina da plataforma, em paredes ele está normal mas é somente nas pontinhas das plataforma o personagem fica em um lupe subindo e descendo rapidamente. Não entendi o porque ele está fazendo isso até agora.
Imagem
2. O segundo erro deve ser mais fácil de resolver. ele da uma leve travada quando bate com a cabeça no teto, como se a hspeed ficasse 0 e depois voltasse ao normal. quando vc bate no teto parado ele não faz isso ele continua um pouco mais depois cai, agora quando bato no teto andando ele da essa leve travada, isso prejudica muito pois quando vou colocar plataformas onde o personagem bate no telo, isso atrapalho o pulo.

3. O ultimo também aparentemente deve ser alguma coisa que está dando conflito. Quando venho correndo e tento pular na ponta da plataforma o pulo não ativa e ele cai. Acho que os outros erros deve tá gerando esse.
Imagem

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante