ayuda con codigo movimiento en objetos (ojo, novato)

Iniciado por Alvargb, 8 Junio 2013, 16:26 PM

0 Miembros y 1 Visitante están viendo este tema.

Alvargb

Hola a todos, estoy empezando ahora con JAVA en visual studio.. y quería saber con que código podría mover horizontal o verticalmente un objeto.. se entiende que controlado con el teclado redefiniendolo previamente con cursor o teclas.
supongo que alguien ha preguntado sobre esto, pero quizá a otro nivel de dificultad.. un saludo y gracias a todos
:-(

tincopasan

Ni idea! tendrías que preguntar en el foro de java!

Shout

#2
No sé Java, pero te puedo decir la lógica que usaría y tú ya ahí lo conviertes a código :silbar:
Coges el objeto, cambias su posición X (o Y) sumándole 1 cada 0.25s y ya. Ahora pruebo en js y te digo qué tal va la animación
Edito: va algo rapidito, puedes probar a poner la animación en 0.125s o algo así y ya, no es nada complicado
I'll bring you death and pestilence, I'll bring you down on my own

MasterPunk

He hecho algo parecido hace poco:
Código (java) [Seleccionar]

package juego;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionAdapter;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Juego extends JPanel {
   int x = 100, y = 100;
   public Juego() {
       addKeyListener(new KeyListener() {
           @Override
           public void keyTyped(KeyEvent e) {
           }

           @Override
           public void keyReleased(KeyEvent e) {
               //
           }

           @Override
           public void keyPressed(KeyEvent e) {
               if(e.getKeyCode() == KeyEvent.VK_A){
                   x--;
               }if(e.getKeyCode() == KeyEvent.VK_D){
                   x++;
               }if(e.getKeyCode() == KeyEvent.VK_W){
                   y--;
               }if(e.getKeyCode() == KeyEvent.VK_S){
                   y++;
               }
           }
       });
       setFocusable(true);
   }

   @Override
   public void paint(Graphics g) {
       super.paint(g);
       Graphics2D g2d = (Graphics2D) g;
       g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
               RenderingHints.VALUE_ANTIALIAS_ON);
       g2d.setColor(Color.red);
       g2d.fillRect(x, y, 10, 10);//pinta un cuadrado rojo
   }

   public static void main(String[] args) {
       JFrame frame = new JFrame();
       Juego game = new Juego();
       frame.add(game);
       frame.setSize(300, 300);
       frame.setVisible(true);
       frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       while (true) { //bucle de juego
           
           game.repaint();
           try {
               Thread.sleep(15);
           } catch (InterruptedException ex) {
           }
       }
   }
}