Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Daniel o rei

flash.ui.keyboard

Recommended Posts

Tenho esse script que não está funcionando:

public function key(e:KeyboardEvent):void{
                switch (e.keyCode) {
                case Keyboard.UP:
                     force=new b2Vec2(0,-1000);
                    c3b.ApplyForce(force,c3b.GetWorldCenter());

                    break;
                 case Keyboard.LEFT:
                     force=new b2Vec2(-1000,0);
                    c3b.ApplyForce(force,c3b.GetWorldCenter());

                    break;
                     case Keyboard.RIGHT:
                    force=new b2Vec2(1000,0);
                    c3b.ApplyForce(force,c3b.GetWorldCenter());

                    break;
                    case flash.ui.Keyboard.W :
                    /*force=new b2Vec2(0,-10000);
                    c2b.ApplyForce(force, c2b.GetWorldCenter())
                    */
                     force=new b2Vec2(-1000,0);
                    c3b.ApplyForce(force,c3b.GetWorldCenter());
                    break;
                    /*
                    case 68:
                    force=new b2Vec2(0,-1000);
                    c2b.ApplyImpulse(force, c2b.GetWorldCenter())
                    
                    break;
                    
                    case 65:
                    force=new b2Vec2(-1000,0);
                    c2b.ApplyImpulse(force, c2b.GetWorldCenter())
                    
                    break;
                    
                    case 73:
                    force=new b2Vec2(0,-1000);
                    c1b.ApplyImpulse(force, c2b.GetWorldCenter())
                    
                    
                    break;
                    case 74:
                    c1b.ApplyTorque(10);
                    
                    break;
                    case 76:
                    c1b.ApplyTorque(-10);
                    
                    break;*/
                    
                
            }
        
        
        
        
        }
Eu tinha posto todas as letras em números, mas não funcionou então eu peguei a constante mas apareceu esse erro:

1119: Access of possibly undefined property W through a reference with static type Class.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você sempre pode usar o code da tecla W e pegar ela

 

E fazer o seu case

 

No as 2.0 eu sei que é assim:

var keyListener:Object = new Object();
keyListener.onKeyDown = function() {
 trace("For the last key typed:");
 trace("\tThe Key code is: "+Key.getCode());
 trace("\tThe ASCII value is: "+Key.getAscii());
 trace("");
};
Key.addListener(keyListener);

Agora em AS 3 é assim:

import flash.events.*;

stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); 

function keyDownHandler(event : KeyboardEvent) : void { 	
	trace(event.keyCode);
}

E até onde eu sei o W é o numero 87 tanto em AS 2 como AS 3

Então se você fizer

if(event.keyCode == 87)

ou

case 87:

 

você deve conseguir o que quer

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Realmente parece que só funciona as letras no air. Só que o Box2D não funciona no adobe AIR. Apareceu um erro e alguns warings. E agora?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Leia os warnings e use o google para procurar o que significa...

 

Agora quando ao Box2D não ler... não faço a menor ideia porque nunca utilizei o mesmo.

Verifique na documentação dele qual como ativar o W e outras teclas.

 

Se o W é para andar para frente... tente UPARROW

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu queria mover os circulos de diferentes formas. Um usando o método applyforce, applyimpulse e o applytorque(o applytorque é para rotação). E para mover dessas diferentes formas eu usaria diferentes teclas. Mas já vi o que eu tinha que ver do box2D.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.