Conectar-se
Quem está conectado
18 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 18 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Sem avaliações
Data de inscrição : 30/05/2015
Número de Mensagens : 9
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

[AJUDA] Velocidade em plataforma

em Sex 05 Jun 2015, 15:07
Boa tarde, gostaria de saber como posso fazer o meu player ficar mais rapido ao passar em cima de um objeto, por exemplo, no chão está normal, ele anda normal, agora se estiver com gelo, ele corre mais rápido. Já tentei fazer uma var dizendo que era false, e quando fosse true ela ganhava mais velocidade, porém não deu certo. Obrigado pela atenção.
avatar
Data de inscrição : 10/08/2014
Número de Mensagens : 395
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 51

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuáriohttp://www.tutoriaisgamemaker.com.br

Re: [AJUDA] Velocidade em plataforma

em Sex 05 Jun 2015, 16:55
antes do código de movimento

var floor = instance_position(x, bbox_bottom + 1, obj_floor); (verifica se são esses os argumentos)

if floor != noone && floor.object_index = obj_gelo
{
  velocidade = rapido
}
else
{
  velocidade = normal
}

Você pode fazer essa checagem sempre que o personagem se mover,  ao invés de todo step, pra não gastar tanta memória.
avatar
Data de inscrição : 26/12/2012
Número de Mensagens : 152
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 8

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [AJUDA] Velocidade em plataforma

em Sex 05 Jun 2015, 17:40
Pode tentar:
if place_meeting(x, y+2, obj_bloco_gelo)
{
if keyboard_check(vk_left)
{
hspeed += 0.7
}

if keyboard_check(vk_right)
{
hspeed -= 0.7
}
}

N sei se vai dar certo pq to pelo cel.
avatar
Ranking : Sem avaliações
Data de inscrição : 30/05/2015
Número de Mensagens : 9
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: [AJUDA] Velocidade em plataforma

em Sab 06 Jun 2015, 11:10
Fala galera, beleza? Então, eu estava tentando fazer ele passar por cima do chão, e ganhar um speed, como se tivesse um objeto por baixo do chão que o daria velocidade, porem tentei de diversas formas que eu conheço e não deu, então acabei criando um objeto invisivel e coloquei por cima, e quando colide ele ganha speed , será que futuramente vai bugar ou travar o jogo?
avatar
Data de inscrição : 10/08/2014
Número de Mensagens : 395
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 51

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuáriohttp://www.tutoriaisgamemaker.com.br

Re: [AJUDA] Velocidade em plataforma

em Sab 06 Jun 2015, 11:28
Você pelo menos tentou minha solução?

É só você checar se o chão é de gelo, e se for, mudar a velocidade pra rápido. Se não, deixa ela normal.
avatar
Ranking : Sem avaliações
Data de inscrição : 30/05/2015
Número de Mensagens : 9
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: [AJUDA] Velocidade em plataforma

em Sab 06 Jun 2015, 12:45
@matheusco escreveu:Você pelo menos tentou minha solução?

É só você checar se o chão é de gelo, e se for, mudar a velocidade pra rápido. Se não, deixa ela normal.


Então, eu tentei, porém ele deu um bug dizendo que eu não posso usar o floor

"cannot use function/script name for variable, using "floor"
avatar
Data de inscrição : 10/08/2014
Número de Mensagens : 395
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 51

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuáriohttp://www.tutoriaisgamemaker.com.br

Re: [AJUDA] Velocidade em plataforma

em Sab 06 Jun 2015, 12:52
Ah, isso porque já existe uma função chamada floor, havia me esquecido disso. Ali é pra ser a variável que vai armazenar a id da instância.
avatar
Ranking : Sem avaliações
Data de inscrição : 30/05/2015
Número de Mensagens : 9
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: [AJUDA] Velocidade em plataforma

em Sab 06 Jun 2015, 13:10
@matheusco escreveu:Ah, isso porque já existe uma função chamada floor, havia me esquecido disso. Ali é pra ser a variável que vai armazenar a id da instância.
Entendi, alterei aqui, fiz a var piso. Porém na hora de compilar ele buga novamente
" if piso != noone && piso.object_index = obj_gelo"
até mesmo colocando "floor.object_index = obj_gelo" ou tirando o "floor"
avatar
Data de inscrição : 10/08/2014
Número de Mensagens : 395
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 51

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuáriohttp://www.tutoriaisgamemaker.com.br

Re: [AJUDA] Velocidade em plataforma

em Sab 06 Jun 2015, 14:37
Posta o erro. Só uma nota:

A checagem eu fiz contra obj_floor como se ela fosse parent do obj_gelo. Se você só tem um objeto gelo, sem parent, então a checagem tem que ser usando obj_gelo.

Ficaria assim:

if position_meeting(x, bbox_bottom + 1, obj_gelo)
{
velocidade = rapido
}
else
{
velocidade = normal
}
avatar
Ranking : Sem avaliações
Data de inscrição : 28/04/2015
Número de Mensagens : 100
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 47
Ver perfil do usuário

Re: [AJUDA] Velocidade em plataforma

em Sab 06 Jun 2015, 14:51
Você pode fazer assim(O código a seguir é apenas um exemplo):
Código:

if (place_meeting(x, y+5, chao_gelo)){
    vel_inicial = 4;
} else {
    vel_inicial = 2;
}

//exemplo de movimento de velocidade variada
if(keyboard_check(vk_right)){
    x += vel_inicial + aceleracao;
    if(aceleracao < 3){
        aceleracao += 0.2;
    }
}
if(keyboard_check(vk_left)){
    x -= vel_inicial + aceleracao;
    if(aceleracao < 3){
        aceleracao += 0.2;
    }
}

aceleracao -= 0.1;
if(aceleracao < 0){
    aceleracao = 0;
}

Um exemplo básico, até mais.

EDIT:
Para facilitar sua vida, fiz uma engine bem básica como exemplo. Até +
https://www.dropbox.com/s/vd82qkrwz9yki3f/Engine_andar_gelo.gmk?dl=1


Última edição por Superbomber em Sab 06 Jun 2015, 15:12, editado 1 vez(es) (Razão : Adicionar Engine.)
avatar
Ranking : Sem avaliações
Data de inscrição : 30/05/2015
Número de Mensagens : 9
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: [AJUDA] Velocidade em plataforma

em Sab 06 Jun 2015, 16:32
@Superbomber escreveu:Você pode fazer assim(O código a seguir é apenas um exemplo):
Código:

if (place_meeting(x, y+5, chao_gelo)){
    vel_inicial = 4;
} else {
    vel_inicial = 2;
}

//exemplo de movimento de velocidade variada
if(keyboard_check(vk_right)){
    x += vel_inicial + aceleracao;
    if(aceleracao < 3){
        aceleracao += 0.2;
    }
}
if(keyboard_check(vk_left)){
    x -= vel_inicial + aceleracao;
    if(aceleracao < 3){
        aceleracao += 0.2;
    }
}

aceleracao -= 0.1;
if(aceleracao < 0){
    aceleracao = 0;
}

Um exemplo básico, até mais.

EDIT:
Para facilitar sua vida, fiz uma engine bem básica como exemplo. Até +

O Código funcionou perfeitamente, muito obrigado pela ajuda, e pela atenção de todos! Usei a função do place_meeting e foi perfeitamente!!
Conteúdo patrocinado

Re: [AJUDA] Velocidade em plataforma

Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum