wie Kreis mit Schleife versetzten?

Angel07

Mitglied
Hallo Leute,

ich habe nen Kreis, den ich jetzt ca. x-mal(egal wie oft) so versetzen muss, das ein Tunnel aus dem Kreis ensteht....nen Kreis hab ich aber wie der Rest funktioniert weiß ich grad nicht...

Kann mir jemand helfen?

Danke
 
Hmm ich kann mir glaube ich grob vorstellen, was du ungefähr willst. Aber wie zeichnest du denn den Kreis?
Nutzt du da ein JPanel ?
Generell musst du ja nur die X Koordinate anpassen, die jedes mal erhöht wird.
 
also im Prinzip so:
Java:
import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;

public class Neu extends Applet {
  // Anfang Attribute
  Kreis kreis;

  
  // Ende Attribute

  public void init() {
       // Anfang Komponenten
     kreis = new Kreis(100, 100, 50);

    // Ende Komponenten

  }

  public void paint(java.awt.Graphics g) {
  for (int i= 0; i<50; i++){
    kreis.zeichne(g);
    kreis.bewege(5, 4);
    kreis.skaliere(2);
    kreis.zeichne(g);
  }

    
  }

geht aber nicht
 
Java:
 for (int i= 0; i<50; i++){
    kreis.zeichne(g);
    kreis.bewege(5, 4);
    kreis.skaliere(2);
    kreis.zeichne(g);
  }

Wenn du da nie i benutzt hat die Schleife auch wenig Sinn 😉
 
Was bedeutet "geht aber nicht"?
Eine Klasse Kreis gibt es nun mal nicht, außer du hast selbst eine definiert...
Schon vordefiniert gäbe es da aber [JAPI]Ellipse2D[/JAPI]... damit kannst du genau das machen, was du eben geschrieben hast.

[edit]@njans: Doch, das führt ja nur dazu, dass die Schleife eben 50-mal ausgeführt wird.
Mir fällt grade bloß noch auf, dass einer der beiden zeichne-Aufrufe unnötig ist.[/edit]
 
attachment.php

Geklappt! so soll das aussehen! Das möchte ich per schleife aus einem Kreis machen
 
Wenn du da nie i benutzt hat die Schleife auch wenig Sinn
Stimmt... es könnte aber auch sein, dass innerhalb der bewege-Funktion die Parameter auf die aktuelle Position draufaddiert werden, d.h. es handelt sich um ein moveBy und nicht moveTo... aber wie bereits gesagt: ohne diese Funktion zu kennen, kann man nur raten, wo der Fehler liegt...
 
@njans: Doch, das führt ja nur dazu, dass die Schleife eben 50-mal ausgeführt wird.
Mir fällt grade bloß noch auf, dass einer der beiden zeichne-Aufrufe unnötig ist.
Nun, ob 50 mal den selben Kreis auf die selbe Stelle zu zeichnen, Sinn macht, ist doch wohl offensichtlich ;-)

Zu dem Programm: Es wäre gut zu wissen, was denn die Klasse "Kreis" so macht. Was machen die Methoden ?

Also genereller Ansatz musst du nur sowas machen:
Kreis erzeugen mit Startposition und Startradius
dann in einer Schleife jedes mal diesen Kreis zeichnen und dabei bei jedem Durchlauf die X,Y Position um 2 erhöhen und den Radius um 1 erhöhen (Hierbei sind 2, bzw. 1 Faktoren die nach eigenem Wunsch gewählt werden müssen).
 
Guten Morgen, ich stehe vor dem selben Problem lediglich mit einem Rechteck versuche ich sowas auf die beine zu Stellen. Wie ist die Lösung über eine Schleife nun gelöst worden?!
 
Und ich dachte Osnabrücker halten Zusammen so als optimisten 😀 .. Hat keiner eine Idee die mir weiterhelfen kann ?! 🙂 Wäre sehr dankbar. Ich hab zwar eine lösung wo ich das Kreis/rechteck versetze jedoch sieht die nicht sauber gecodet aus.
 

Neue Themen


Zurück
Oben