Objekt entgegengesetzt bewegen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Objekt entgegengesetzt bewegen

    Hi

    folgende Klasse ist vorgegeben:

    Quellcode

    1. public class GameWindow extends JFrame {
    2. JPanel p =new JPanel() {
    3. public Dimension getpreferredSize() {
    4. return new Dimension(800,600);
    5. };
    6. @Override
    7. protected void paintComponent (Graphics g) {
    8. for (GameObject o:os) o.paintMeTo(g);
    9. };
    10. };
    11. final List<GameObject> os = new ArrayList <GameObject>();
    12. public GameWindow() {
    13. add(p);
    14. pack();
    15. setVisible(true);
    16. Timer t = new Timer(100, new ActionListener() {
    17. public void actionPerformed(ActionEvent e) {
    18. for (GameObject o:os) o.move();
    19. repaint();
    20. }
    21. }
    22. );
    23. t.start();
    24. }
    25. public void addGameObject(GameObject o) {
    26. os.add(o);
    27. p.repaint();
    28. }
    29. }
    Alles anzeigen


    mit folgender Methode lasse ich mein Objekt vorwärts bewegen:

    Quellcode

    1. public void move() {
    2. position.add(new Vertex(1,0));
    3. }


    Die add Methode:

    Quellcode

    1. public void add(Vertex that) {
    2. this.x += that.x;
    3. this.y += that.y;
    4. }


    Jetzt möchte ich das das Object sich entgegengesetzt bewegt.

    Ich habe folgende Idee;

    Quellcode

    1. public void move() {
    2. boolean bewegung = true;
    3. if(bewegung == true) {
    4. position.add(new Vertex(1,1));
    5. }
    6. else
    7. reverse();
    8. }
    9. public void reverse() {
    10. x = 0;
    11. y = 1;
    12. }
    Alles anzeigen


    Funktioniert nicht so ganz.
  • Nikelodeon schrieb:

    Hi

    folgende Klasse ist vorgegeben:

    Quellcode

    1. public class GameWindow extends JFrame {
    2. public void move() {
    3. boolean bewegung = true;
    4. if(bewegung == true) {
    5. position.add(new Vertex(1,1));
    6. }
    7. else
    8. reverse();
    9. }
    10. ...
    Alles anzeigen


    Funktioniert nicht so ganz.



    Ohne mir den Code näher angeschaut zu haben fällt natürlich sofort der von mir zitierte Codeteil auf.
    Die legst einen boolean an, setzt ihn auf true und überprüfst dann ob er auch true ist :?: Er wird wohl immer true sein^^

    Außerdem ist 'funktioniert nicht so ganz' eine etwas dürftige Fehlerbeschreibung ;)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von F0kus ()