..:: MX Studio Fóruns ::..: URGENTE (preciso de respostas) - ..:: MX Studio Fóruns ::..

Jump to content

Publicidade




Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

URGENTE (preciso de respostas) Atulizando jogos em flash

#1 User is offline   AcTion: Games and Videos 

  • Group: Membros
  • Posts: 8
  • Joined: 02-February 10

  Posted 05 February 2010 - 03:06 PM

Bom Pessoal,

Eu tinha um codigo de movimento para jogos simples e bem, quando instalei o WIN 7, ele foi junto (que burrice), e eu não me lembro de cabeça.....

blink.gif -Era mais ou menos:
CÓDIGO
"on'', ''key'',''press'',''evento''.............


blink.gif -Além disso tinha algo como:
CÓDIGO
''this._rotation += 45''............


O que estou querendo dizer é que ele movimentava um objeto apartir do teclado e é uma coisinha simples,

Então, sera que da para dar uma mãosinha?

Na Espera, Action!
0

#2 User is offline   D.passoni 

  • Group: Membros
  • Posts: 33
  • Joined: 04-October 08

Posted 02 March 2010 - 04:00 PM

Opa e aí?

Coloca esse código no seu movieClip:
CÓDIGO
onClipEvent(enterFrame){
    if(Key.isDown(Key.RIGHT)){//se a seta (direita) estiver pressionada
        this._x += 2;//O movieClip irá 2px para a direita;
    }
}


Qualquer coisa só perguntar =D;

Falou!

0

#3 User is offline   Yuri d´Ávila 

  • Group: Membros
  • Posts: 10
  • Joined: 02-August 10

Posted 25 August 2010 - 12:35 PM

Existem duas formas de movimentar um objeto na tela a partir das teclas setas ou qualquer outra de acordo com a programação desejada.

1 - A mais simples seria adicionar o evento keyPress ao simbolo que será movimentado (no Actions do symbol voce digita os comandos abaixo).
obs: Se o codigo for inserido no MovieClip usa-se "this" para indicar o target, se for inserido em um Keyframe normal, use "_root["nome_do_simbolo"]._x" ou "_root.nome_do_simbolo._x"

on (keyPress "<Right>") {
	this._x +=10; //Movimenta 10 pixels para a direita
}


2 - O exemplo que o camarada ai citou é melhor pois deixa mais suave os movimentos do objeto, o que para Jogos fica melhor. Ele registra a cada frame se a tecla foi pressionada, se sim, movimenta o symbol.

onClipEvent(enterFrame){
    if(Key.isDown(Key.RIGHT){
        this._x += 10; //Movimenta 10 pixels para a direita
    }
}

0

#4 User is offline   HenriqueMX 

  • Group: Membros
  • Posts: 2
  • Joined: 03-September 10

Posted 03 September 2010 - 03:51 PM

Yuri
Essas sao boas alternativa....Porem recomendo que use o AS3 q ficaria da seguinte forma:
//------- Criando VARIAVEIS de valor BOOLEAN para que o ENTER_FRAME force as teclas começarem com valor FALSE( DESATIVADAS ) ---//
var pressLeft:Boolean = new Boolean(false);
var pressUp:Boolean = new Boolean(false);
var pressRight:Boolean = new Boolean(false);
var pressDown:Boolean = new Boolean(false);

//------- Adicionando um EVENTO direto ao palco que irar CHAMAR a FUNÇÂO (pressButtonDown) e VERIFICAR se ha alguma TECLA pressionada ---//

stage.addEventListener(KeyboardEvent.KEY_DOWN, pressButtonDown);

//------- CIANDO a FUNÇÂO pressButtonDown
//------- OBS: os numeros sao CODIGOS REFERENTES AO TECLADO EMEXPLO: o numero "37" representa a tecla ESQUERDA.

function pressButtonDown(event:KeyboardEvent):void {
switch (event.keyCode) {
case 37 : //ESQUERDA;
pressLeft = true;
break;
case 38 : //CIMA;
pressUp = true;
break;
case 39 : //DIREITA;
pressRight = true;
break;
case 40 : //BAIXO;
pressDown = true;
break;
}
}

//------- Adicionando um EVENTO direto ao palco que irar CHAMAR a FUNÇÂO (pressButtonUp) e VERIFICAR se ha alguma das TECLA soltas as que ESTIVEREM SOLTAS receberam o valor (FALSE)---//

stage.addEventListener(KeyboardEvent.KEY_UP, pressButtonUp);

function pressButtonUp(event:KeyboardEvent):void {
switch (event.keyCode) {
case 37 : //ESQUERDA;
pressLeft = false;
break;
case 38 : //CIMA;
pressUp = false;
break;
case 39 : //DIREITA;
pressRight = false;
break;
case 40 : //BAIXO;
pressDown = false;
break;
}
}
//----- Este e um EVENTO ENTER_FRAME que sera lançado diretamente no PALCO para chamar a FUNÇÃO que determina o limite maximo de MOVIMENTO do OBJETO.

stage.addEventListener(Event.ENTER_FRAME, runIt);

function runIt(e:Event):void {
if (pressLeft) {
if (this.bodyMovie.x > 0) {
this.bodyMovie.x -= 5;
}
}
if (pressRight) {
if (this.bodyMovie.x < 400) {
this.bodyMovie.x += 5;
}
}
if (pressUp) {
if (this.bodyMovie.y > 0) {
this.bodyMovie.y -= 5;
}
}
if (pressDown) {
if (this.bodyMovie.y < 300) {
this.bodyMovie.y += 5;
}
}
}

ABRAÇO ESPERO TER AJUDADO :D
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic


Similar Topics Collapse


Publicidade




1 User(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)