Conectar-se

Esqueci minha senha

Últimos assuntos
» [Enquete] Concursos GMBR
por Willy Ontem à(s) 19:49

» CR - Concurso Relâmpago!!
por Willy Ter 18 Jul 2017, 17:11

» 3D:como rodar a camara em horizontal?
por Cambalinho Ter 18 Jul 2017, 15:09

» [Resolvido] pode explicar a d3d_set_projection()?
por Cambalinho Ter 18 Jul 2017, 11:28

» Escrever a resposta certa muda de room
por PedroX Seg 17 Jul 2017, 21:46

» Nota de esclarecimento - GMBR voltou!
por Mentos e Coca-cola Seg 17 Jul 2017, 17:05

» [CR] Campo Minado
por Katerp Dom 16 Jul 2017, 23:09

» [CR] The Bazooka Cat
por Tedi Ripper Dom 16 Jul 2017, 23:01

» Como melhorar um protótipo(Design)
por lolandoplayer Dom 16 Jul 2017, 22:56

» Diminuir velocidade ao arrastar objeto
por LwysF Dom 16 Jul 2017, 17:33

Quem está conectado
16 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 16 Visitantes

Nenhum

[ Ver toda a lista ]


O recorde de usuários online foi de 324 em Ter 05 Out 2010, 13:36
Estatísticas
Temos 12700 usuários registrados
O último usuário registrado atende pelo nome de Eduardo Gomes

Os nossos membros postaram um total de 220919 mensagens em 30412 assuntos

Duvida com codigo

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Duvida com codigo

Mensagem por Sonic em Ter 15 Jun 2010, 18:03

Como eu faço essa ação aqui em baixo relativa?

if keyboard_check(vk_right){mov_dir=true mov_esq=false}
if keyboard_check(vk_left){mov_dir=false mov_esq=true}
if keyboard_check(vk_left) and keyboard_check(vk_right){mov_dir=false mov_esq=false}
if !keyboard_check(vk_left) and !keyboard_check(vk_right){mov_dir=false mov_esq=false}

OBS: escreva o codigo ok! ;)
avatar
Sonic

Ranking : Nota D
Notas recebidas : D
Data de inscrição : 12/01/2010
Número de Mensagens : 384
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Duvida com codigo

Mensagem por Cainã em Ter 15 Jun 2010, 18:30

Qual dos códigos você deseja que seja relativo? Pelo que vejo nenhum pode ser tratado assim.
avatar
Cainã

Data de inscrição : 07/03/2010
Número de Mensagens : 1335
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário http://cai.na.tl/

Voltar ao Topo Ir em baixo

Re: Duvida com codigo

Mensagem por PedroX em Ter 15 Jun 2010, 19:08

resumi o codigo, pois o seu esta meio estranho...
a unica coisa a mudar é o hspeed caso for x
Código:
if keyboard_check(vk_right)
{
if keyboard_check(vk_left) then exit;
hspeed=3
}
if keyboard_check(vk_left)
{
if keyboard_check(vk_right) then exit;
hspeed=-3
}

if !keyboard_check(vk_right) && !keyboard_check(vk_left) hspeed=0;

PedroX

Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6036
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   :
   :
   :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Duvida com codigo

Mensagem por reddragon em Ter 15 Jun 2010, 20:27

Sonic da uma olhada nessa minha aula que pode te ajudar.

http://www.gamemakerbrasil.com/game-maker-f36/aula-3-nossas-primeiras-linhas-t2121.htm

achei interessante a resolução sua, Pedro Henrique mas acredito que ele ainda não esta tratando a movimentação e sim as vaiáveis que levam a ela.

neste caso proponho duas formas para resolver:

primeira:

essa é uma alternativa usando variavas diferentes.
direta
se igual a 1 é ele esta para direita se 0 é pra esquerda.
andando
se igual a 1 ele esta andando e 0 esta parado.

Código:
//essa comparação analisa se os dois botões estão soltos ou apertados
//se a comparação retornar true ele esta parado se tornar false esta andando
if ((keyboard_check(vk_right) and keyboard_check(vk_left)) or (!keyboard_check(vk_right) and !keyboard_check(vk_left))){
    andando = 0;
}else{//se ele estiver andando a variável andando fica 1 e compara qual botão esta apertando.
    andando = 1;
    if (keyboard_check(vk_right)){//compara se pra direita
        direita = 1;
    }
    if (keyboard_check(vk_left)){//compara se pra esquerda
        direita = 0;
    }
}

mas se quiser usar esse código deve se atentar também no seu script de movimentação. creio que ficaria algo do tipo.

Código:
if (andando == 1){
    if (direita == 1){
        sprite_index = //nome da imagem do char andando pra direita
        hspeed = //velocidade positiva
    }else{
        sprite_index = //nome da imagem do char andando pra esquerda
        hspeed = //velocidade negativa
    }
}else{
    if (direita == 1){
        sprite_index = //nome da imagem do char parado pra direita
        hspeed = 0 //velocidade 0
    }else{
        sprite_index = //nome da imagem do char parado pra esquerda
        hspeed = 0 //velocidade 0
    }
}

segunda.

essa versão usa as suas variáveis Sonic.

Código:
//essa comparação analisa se os dois botões estão soltos ou apertados
//se a comparação retornar true ele esta parado se tornar false esta andando
if ((keyboard_check(vk_right) and keyboard_check(vk_left)) or (!keyboard_check(vk_right) and !keyboard_check(vk_left))){
    mov_dir = false
    mov_esq = false
}else{//se ele estiver andando as variáveis se modificam para a direção que você quer
    if (keyboard_check(vk_right)){//compara se pra direita
      mov_dir = true
      mov_esq = false
    }
    if (keyboard_check(vk_left)){//compara se pra esquerda
        mov_dir = false
        mov_esq = true
    }
}

se resolveu me manda uma mensagem pra me agradecer ou reclamar.
avatar
reddragon

Data de inscrição : 19/03/2008
Número de Mensagens : 267
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   :
   :
   :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum