Objekte bewegen?

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Figger, 5. Oktober 2005 .

Schlagworte:
  1. 5. Oktober 2005
    Hi,
    ich bin ein ziemlicher anfänger in java und würde gerne wissen wie man objekte bewegen kann, animieren quasi.

    Ich hoffe es gibt eine einfache lösung... ^^

    Gruß,
    Figger
     
  2. 6. Oktober 2005
    also auf anhieb könnte ich dir sagen, das es mit einer for-schleife geht.
    wenn du in java ein fenster programmiert hast, hat dieses fenster ein eigenes koordinatensystem. bei java ist der ursprung links oben in der ecke. wenn du also z.b. ein bild von links oben nach rechts unten laufen lassen willst, dann brauchste eine for-schleife.

    hoffe ich konnte dir weiterhelfen. aso bei texten muss ich leider passen. wir haben es nur mit einer figur gemacht.

    nice day!!!!
     
  3. 6. Oktober 2005
    könntest du das mal bitte genauer erläutern bzw den code posten?

    weil, mit einer einfachen for schleife wird es doch wohl nicht getan sein? ich meine, mann bracht ja auch einen interval oder so....

    Gruß,
    Figger
     
  4. 6. Oktober 2005
    ich kann kein java, aber denke ma dass es so ungefähr gehen müsste


    Auflösung bestimmen
    x:= horizontale auflösung;
    y:=vertikale auflösung;

    dann machste die ne for schleife die die positon des bildes immer anhand der x un y koordinaten auf dem schirm anzeigt und erhöst x und y solange um 1 bis die bildschirmauflösung-bildauflösung erreicht ist
     
  5. 6. Oktober 2005
    ich habe eben den quelltext gefunden. das is aber nur ein auszug.
    Code:
    public void paint (Graphics g)
    {
     // Achtung: der Ursprung des Koordinatensystems bei Frame ist immer
     // die linke ober Ecke des Fensters nicht des Fensterinhalts!
     g.setColor(Color.YELLOW);
     g.fillArc(10+i,50+i,40,90,45,90);
    }
    
    public static void main(String[] args)
    {
     MeineAnwendung2 appframe = new MeineAnwendung2("Mein neues Fenster");
     appframe.setSize(700,500);
     appframe.centerFrame();
     appframe.setVisible(true);
     // mit der Methode repaint() kann das Neuzeichnen erzwungen werden
     for (i=0; i<500; i++)
     {
     appframe.repaint();
     try
     {
     Thread.sleep(20);
     }
     catch (InterruptedException e)
     {
     }
     }
    
    testen musst du es leider selber. muss leider auf arbeit. wenn ich es noch schaffe, werde ich es heute abend den ganzen quelltext schreiben. es ist zwar nit die beste lösung aber es ist immerhin eine lösung.
    wenn du es testen willst, wirst du sehen, das es einbisschen ruckelt. aber das kannst du lösen, in dem du 20 herunter setzt.
     
  6. 6. Oktober 2005
    @harry1526 Das ruckeln entsteht doch wenn ich mich richtig erinnere weil du den vollständigen Frame neu zeichen lässt appframe.repaint(); Um das Problem zuverlässig zu löschen müsste man doch eigentlich mit clipping Regions arbeiten. Jedoch würde ich das nicht einem "Anfänger" empfehlen oder kennt jemand einen verständlichen Quelltext dazu. Daran wäre auch ich interssiert.

    Danke der Don
     
  7. 6. Oktober 2005
    @DonCorleone:
    mit dem repaint hast du schon recht, das es ruckelt. aber deine lösung mit den clipping regions habe ich noch nit gehört. hört sich aber interessant an. aber eine andere lösung fällt mir auch noch ein. und zwar könnte man die animation in einem eigenen thread schreiben. ich glaube das wäre die bessere lösung.
     
  8. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.