Ir para conteúdo
Fórum Script Brasil
  • 0

Detectando Teclas, Como Faço?


Guest - Cicero -

Pergunta

Guest - Cicero -

Numa de minhas leituras de apostilas e apostilas pelo mundo da web, resolvi aprender como fazer para movimentar um objeto no FLASH.

Legal...

Mas o bicho pegou na hora de fazer o movimento com perfeição...

A apostila fala...

Se eu quiser mecher o objeto lentamente, para eu o mover de 3 em 3 pixels ou menos, e se quiser rapido, éra só ir aumentando a quantidade de pixesl.

Só que se eu aumentar a quantidade de pixel para aumentar a velocidade, o objeto anda meio que travando. Fica uma coisa meio robotica fica horrivel...

se alguém puder me dar algumas dicas alguma ajuda eu agradeço, porque eu to ficando meio doido com isso.

valeu pessoal...fui.

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Você usou MovieClip??

• crie um objeto (quadrado, etc) num frame e faça outro keyframe logo após, deixando uns 10 espaços na linha tempo lá em cima...

• selecione os dois keyframes (todos os frames) e clique.

Selecione Create Motion Tween

Após, é só mudar o objeto do segundo keyframe pra algum lugar que ocorrerá a animação....

((Use 12 frames por segundo (estará na barra abaixo

da linha de tempo como 12.0 fps) )))

Você pode arrastar o segundo keyframe para perto do primeiro

(- criando uma animação mais rápida)

ou para mais longe

(- criando uma animação mais devagar)

Vai mechendo no programa que você vai aprendendo...

Link para o comentário
Compartilhar em outros sites

  • 0

Desculpe Thaconde mais acho que o ... quer outro coisa... o movimento deve ser feito por AS atraves do Mouse ou Key (teclas)

Se eu estiver certo, creio eu pelo que pude ver no seu Post... Eu não sei quais AS essas apostila usaram, passarei do jeito que eu sei usando as teclas de setas do teclado...

1º Abra um novo arquivo e crie mais uma camada renomei-e a primeira com o nome action e a segunda de botões.

1º Na primeira camada desenhe o objeto que você quer movimentar e converta-o para um MC e coloque o seguinte action nele:

onClipEvent (load) {

   // Para alterar a velocidade do seu objeto, basta alterar o valor pra mais ou pra mesmo na linha do speed que eu coloquei 10

    speed = 10;

}

onClipEvent (enterFrame) {

  

    if (Key.isDown(Key.LEFT) && !Key.isDown(Key.RIGHT)) {

        _x -= speed;

        _rotation = 270;

    }

    if (Key.isDown(Key.RIGHT) && !Key.isDown(Key.LEFT)) {

        _x += speed;

        _rotation = 90;

    }

    if (Key.isDown(Key.UP) && !Key.isDown(Key.DOWN)) {

        _y -= speed;

        _rotation = 0;

    }

    if (Key.isDown(Key.DOWN) && !Key.isDown(Key.UP)) {

        _y += speed;

        _rotation = 180;

    }

  

    if (Key.isDown(Key.LEFT) && Key.isDown(Key.UP) && !Key.isDown(Key.RIGHT) && !Key.isDown(Key.DOWN)) {

        _rotation = 315;

    }

    if (Key.isDown(Key.RIGHT) && Key.isDown(Key.UP) && !Key.isDown(Key.LEFT) && !Key.isDown(Key.DOWN)) {

        _rotation = 45;

    }

    if (Key.isDown(Key.LEFT) && Key.isDown(Key.DOWN) && !Key.isDown(Key.RIGHT) && !Key.isDown(Key.UP)) {

        _rotation = 225;

    }

    if (Key.isDown(Key.RIGHT) && Key.isDown(Key.DOWN) && !Key.isDown(Key.LEFT) && !Key.isDown(Key.UP)) {

        _rotation = 135;

    }

    

    // Alterando os valores de it voce determina o campo de movimentação do objeto no Palco

    if (_y<-50) {

        _y = 270;

    }

    if (_y>250) {

        _y = -50;

    }

    if (_x<-50) {

        _x = 500;

    }

    if (_x>500) {

        _x = -50;

    }

    

    with (_root.shadow) {

        _x = this._x+3;

        _y = this._y+3;

        _rotation = this._rotation+90;

    }

}

Como eu deixei explicado em forma de comentario no proprio AS para alterar a velocidade do objeto basta mudar pra mais ou pra menos o valor do item speed que eu coloquei como 10.

Nas linhas de comando como

if (_y<-200) {

_y = 431;

Voce delimita até onde o objeto pode ir alterando os valores para mais ou para menos.

2º Na segunda cama desenhe quatro botões indicando as direções: pra cima, pra baixo, pra esquerda e pra direita, ou importe da biblioteca do Flash que tem um mote desse tipo e coloque os seguintes AS nos respectivos botões

Pra cima:

onClipEvent (enterFrame) {

    if (Key.isDown(Key.UP)) {

        gotoAndStop(2);

    } else {

        gotoAndStop(1);

    }

}

Altere o estado dele para Clipe de Filme (MovieClip) e instancie ele como 'Keys', sem as aspas.

Para baixo:

onClipEvent (enterFrame) {

    if (Key.isDown(Key.DOWN)) {

        gotoAndStop(2);

    } else {

        gotoAndStop(1);

    }

}

Altere o estado dele para Clipe de Filme (MovieClip) e instancie ele como 'Keys', sem as aspas.

Para Esquerda:

onClipEvent (enterFrame) {

    if (Key.isDown(Key.LEFT)) {

        gotoAndStop(2);

    } else {

        gotoAndStop(1);

    }

}

Altere o estado dele para Clipe de Filme (MovieClip) e instancie ele como 'Keys', sem as aspas.

Para Direita:

onClipEvent (enterFrame) {

    if (Key.isDown(Key.RIGHT)) {

        gotoAndStop(2);

    } else {

        gotoAndStop(1);

    }

}

Altere o estado dele para Clipe de Filme (MovieClip) e instancie ele como 'Keys', sem as aspas.

Agora é só correr pro abraço!!!! De Ctrl+Enter e teste!

Independente do valor que voce colocar no speed, o movimento será uniforme.

PARA MOVIMENTAR O OBJETO USE AS SETAS DO TECLADO

VEJA ABAIXO DOIS LINKS, UM COM O EXEMPLO PRONTO E O OUTRO COM O .FLA DO EXEMPLO PARA ESTUDO:

EXEMPLO PRONTO

.FLA DO EXEMPLO

QUALQUER DUVIDA POST AE!!!!!!!!!!

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - Cicero -
Desculpe Thaconde mais acho que o ... quer outro coisa... o movimento deve ser feito por AS atraves do Mouse ou Key (teclas)

Se eu estiver certo, creio eu pelo que pude ver no seu Post... Eu não sei quais AS essas apostila usaram, passarei do jeito que eu sei usando as teclas de setas do teclado...

1º Abra um novo arquivo e crie mais uma camada renomei-e a primeira com o nome action e a segunda de botões.

1º Na primeira camada desenhe o objeto que você quer movimentar e converta-o para um MC e coloque o seguinte action nele:

onClipEvent (load) {

   // Para alterar a velocidade do seu objeto, basta alterar o valor pra mais ou pra mesmo na linha do speed que eu coloquei 10

    speed = 10;

}

onClipEvent (enterFrame) {

  

    if (Key.isDown(Key.LEFT) && !Key.isDown(Key.RIGHT)) {

        _x -= speed;

        _rotation = 270;

    }

    if (Key.isDown(Key.RIGHT) && !Key.isDown(Key.LEFT)) {

        _x += speed;

        _rotation = 90;

    }

    if (Key.isDown(Key.UP) && !Key.isDown(Key.DOWN)) {

        _y -= speed;

        _rotation = 0;

    }

    if (Key.isDown(Key.DOWN) && !Key.isDown(Key.UP)) {

        _y += speed;

        _rotation = 180;

    }

  

    if (Key.isDown(Key.LEFT) && Key.isDown(Key.UP) && !Key.isDown(Key.RIGHT) && !Key.isDown(Key.DOWN)) {

        _rotation = 315;

    }

    if (Key.isDown(Key.RIGHT) && Key.isDown(Key.UP) && !Key.isDown(Key.LEFT) && !Key.isDown(Key.DOWN)) {

        _rotation = 45;

    }

    if (Key.isDown(Key.LEFT) && Key.isDown(Key.DOWN) && !Key.isDown(Key.RIGHT) && !Key.isDown(Key.UP)) {

        _rotation = 225;

    }

    if (Key.isDown(Key.RIGHT) && Key.isDown(Key.DOWN) && !Key.isDown(Key.LEFT) && !Key.isDown(Key.UP)) {

        _rotation = 135;

    }

    

    // Alterando os valores de it voce determina o campo de movimentação do objeto no Palco

    if (_y<-200) {

        _y = 431;

    }

    if (_y>431) {

        _y = -200;

    }

    if (_x<-300) {

        _x = 765;

    }

    if (_x>765) {

        _x = -300;

    }

    

    with (_root.shadow) {

        _x = this._x+3;

        _y = this._y+3;

        _rotation = this._rotation+90;

    }

}

Como eu deixei explicado em forma de comentario no proprio AS para alterar a velocidade do objeto basta mudar pra mais ou pra menos o valor do item speed que eu coloquei como 10.

Nas linhas de comando como

if (_y<-200) {

_y = 431;

Voce delimita até onde o objeto pode ir alterando os valores para mais ou para menos.

2º Na segunda cama desenhe quatro botões indicando as direções: pra cima, pra baixo, pra esquerda e pra direita, ou importe da biblioteca do Flash que tem um mote desse tipo e coloque os seguintes AS nos respectivos botões

Pra cima:

onClipEvent (enterFrame) {

    if (Key.isDown(Key.UP)) {

        gotoAndStop(2);

    } else {

        gotoAndStop(1);

    }

}

Altere o estado dele para Clipe de Filme (MovieClip) e instancie ele como 'Keys', sem as aspas.

Para baixo:

onClipEvent (enterFrame) {

    if (Key.isDown(Key.DOWN)) {

        gotoAndStop(2);

    } else {

        gotoAndStop(1);

    }

}

Altere o estado dele para Clipe de Filme (MovieClip) e instancie ele como 'Keys', sem as aspas.

Para Esquerda:

onClipEvent (enterFrame) {

    if (Key.isDown(Key.LEFT)) {

        gotoAndStop(2);

    } else {

        gotoAndStop(1);

    }

}

Altere o estado dele para Clipe de Filme (MovieClip) e instancie ele como 'Keys', sem as aspas.

Para Direita:

onClipEvent (enterFrame) {

    if (Key.isDown(Key.RIGHT)) {

        gotoAndStop(2);

    } else {

        gotoAndStop(1);

    }

}

Altere o estado dele para Clipe de Filme (MovieClip) e instancie ele como 'Keys', sem as aspas.

Agora é só correr pro abraço!!!! De Ctrl+Enter e teste!

Independente do valor que voce colocar no speed, o movimento será uniforme.

PARA MOVIMENTAR O OBJETO USE AS SETAS DO TECLADO

VEJA ABAIXO DOIS LINKS, UM COM O EXEMPLO PRONTO E O OUTRO COM O .FLA DO EXEMPLO PARA ESTUDO:

EXEMPLO PRONTO

.FLA DO EXEMPLO

QUALQUER DUVIDA POST AE!!!!!!!!!!

Cara valeu pelos exemplos me ajudou muito, sou animador novato que não sabe muito como fazer jogos no flash, por isso peço ajuda no forum

Não tenho nenhuma duvida mas valeu pelas dicas.

falo irmao

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...