Marky.Vasconcelos 16 de mar. de 2010
Mude as imagens em loop enquanto isso mova o eixo na direção que voce quer.
Mas tudo aos poucos. Quantos mais frames tiver melhor a animação, quanto mais pontos por segundo melhor a sensação de movimento.
ViniGodoy 16 de mar. de 2010
Dá uma lida nos tutoriais de Java do meu site, do primeiro até o último.
Marky.Vasconcelos 16 de mar. de 2010
GustavoBorba 16 de mar. de 2010
Eu achei muito complicado o tutorial, é que sou iniciante, sabe?
Eu fiz um codigo bem básico, ele trava um pouco, mas quebra um galho:
public void keyPressed ( KeyEvent e ) {
switch ( e . getKeyCode ()) {
case KeyEvent . VK_RIGHT :
if ( animStep == 0 ) { animStep = 1 ; }
else if ( animStep == 1 ) { animStep = 2 ; }
else if ( animStep == 2 ) { animStep = 0 ; }
x += 3 ;
}
loadImages ();
repaint ();
wait ( 20 );
}
void loadImages () {
try {
imgFundo = ImageIO . read ( new URL ( getClass (). getResource ( "images\\bg.jpg" ), "images\\bg.jpg" ));
if ( animStep == 0 ) player = ImageIO . read ( new URL ( getClass (). getResource ( "images\\stand-right.gif" ), "images\\stand-right.gif" ));
else if ( animStep == 1 ) player = ImageIO . read ( new URL ( getClass (). getResource ( "images\\run-right1.gif" ), "images\\run-right1.gif" ));
else if ( animStep == 2 ) player = ImageIO . read ( new URL ( getClass (). getResource ( "images\\run-right2.gif" ), "images\\stand-right2.gif" ));
} catch ( Exception e ) { }
}
@Override
public void paintComponent ( Graphics g ) {
try {
Graphics2D g2d = ( Graphics2D ) g . create ();
g2d . drawImage ( imgFundo , 0 , 0 , this . getWidth (), this . getHeight (), this );
g2d . drawImage ( player , x , 190 , this );
g2d . dispose ();
} catch ( Exception e ) { }
}
O que vocês acharam?
Marky.Vasconcelos 17 de mar. de 2010
Voce carrega todo momento as imagens, voce devia fazer isso apenas uma vez.
E talvez.
if ( animStep == 0 ) { animStep = 1 ; }
else if ( animStep == 1 ) { animStep = 2 ; }
else if ( animStep == 2 ) { animStep = 0 ; }
Possa ser apenas
if ( animStep == 2 ) animStep = 0 ;
else animStep ++ ;
Mesmo assim fazer isso com if/elses não é legal.
E ainda falta no começo do método paintComponent
o comando super.paintComponent(g);
ViniGodoy 17 de mar. de 2010
Por que você cria um new URL? No lugar de:
Você pode simplesmente fazer:
ViniGodoy 17 de mar. de 2010
Se você achou os tutoriais complicados, recomendo fortemente que você estude os fundamentos básicos da linguagem, antes de continuar.
Vi que você abriu um tópico também de sockets, que também é um conteúdo mais avançado.
Solidifique primeiro seu conhecimento no básico, antes de tentar dar vôos mais altos (vc pode, por exemplo, começar com jogos mais simples).