Para darle movimiento usé un KeyPressed sobre el panel que contiene a Mario, luego por medio de dos 'if' le di el movimiento, sin embargo no logro que Mario se mueva estando encima del otro panel que contiene la imágen de fondo (el primer nivel)
éste es el código que usé para el movimiento:
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
LabelMario = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
formKeyPressed(evt);
}
});
LabelMario.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imag/Mario1.png"))); // NOI18N
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap(154, Short.MAX_VALUE)
.addComponent(LabelMario)
.addGap(126, 126, 126))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(58, 58, 58)
.addComponent(LabelMario)
.addContainerGap(81, Short.MAX_VALUE))
);
pack();
}// </editor-fold>
private void formKeyPressed(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
int x= LabelMario.getX();
int y= LabelMario.getY();
if (evt.getKeyChar()== 'l'){
x=x+4;
LabelMario.setLocation(x,7);
}
if(evt.getKeyChar()=='p'){
x=x-4;
LabelMario.setLocation(x, y);
}
}
Así se ve: http://www.youtube.com/watch?v=zOCjJUngziM
No hay comentarios:
Publicar un comentario