Paulo Cabral 0 Posted April 3, 2011 Report Share Posted April 3, 2011 Boa tarde! Estou a desenvolver um jogo de aviões em Java ME! Estou com um problema a que peço ajuda, quando viro o avião, o avião mt bem mas depois nao volta a posição inicial, ou seja, não se indirecta! O codigo é: public void MoveAviao(char dir){ this.setTransform(TRANS_NONE); switch(dir){ //mover em x e em y case 'd': this.move(5, 0); //direita this.setFrame(1); break; case 'b': this.move(0, 5); //baixo/tras this.setFrame(2); break; case 'e': this.move(-5, 0); //esq this.setFrame(0); break; case 'c': this.move(0, -5); //cima/frente this.setFrame(2); break; } this.nextFrame(); } Obrigado desde já por toda a ajuda que possam dar! Link to post Share on other sites
rippp 0 Posted April 3, 2011 Report Share Posted April 3, 2011 a imagem do aviao nao se indireita? isso é feito pelo setFrame(1) virado para a direita ?? Java, Android developerhttp://minimalcode.net Link to post Share on other sites
Paulo Cabral 0 Posted April 3, 2011 Author Report Share Posted April 3, 2011 Tenho uma imagem que é dividida em 3 frames [0,1,2] a frame 0 representa o aviao direito, a frame 1 a virar a direita e e a frame 2 a esquerda... Link to post Share on other sites
rippp 0 Posted April 3, 2011 Report Share Posted April 3, 2011 entao o que tens que fazer é criar um timer e case 'd': this.move(5, 0); //direita this.setFrame(1); break; aqui X segundos depois de fazer this.setFrame(1) ele volta a por setFrame(0); fica do genero case 'd': this.move(5, 0); //direita this.setFrame(1); sleep(100); this.setFrame(0); break; Atenção que eu nao sei se isso é a maneira corecta de fazeres isso, mas penso que a ideia seja essa... Java, Android developerhttp://minimalcode.net Link to post Share on other sites
Draakar 0 Posted April 3, 2011 Report Share Posted April 3, 2011 Boas penso que depois de fazer o switch podes por o set a 0 do genero public void MoveAviao(char dir){ this.setTransform(TRANS_NONE); switch(dir){ //mover em x e em y case 'd': this.move(5, 0); //direita this.setFrame(1); break; case 'b': this.move(0, 5); //baixo/tras this.setFrame(2); break; case 'e': this.move(-5, 0); //esq this.setFrame(0); break; case 'c': this.move(0, -5); //cima/frente this.setFrame(2); break; } this.setFrame(0);//seja qual for a operaçao o aviao fica direito this.nextFrame(); } Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now