2017-11-25 1 views
0

Ich bin neu in Verarbeitung und java, habe ich einige Übung 100 Ellipsen anzuzeigen, aber die Bildschirmgröße (900, 600), und ich mag 100 in brechen 10 Zeilen von 10, aber ich weiß nicht, wie man Zeile in der Verarbeitung zu brechen, verwende ich bereits übersetzen (https://processing.org/reference/translate_.html), aber es funktioniert nicht.neue Zeile, wenn ich Anzeige 10 Ellipse

//function 
    void draw(){ 
    smooth(); 
    noStroke(); 
    fill(23,43,208,200);// cor azul 
    ellipse(posX,posY,12,10); 

    noStroke(); 
    fill(242,76,39);//cor vermelho 
    ellipse(posX,posY,12,10); 

    } 


    for (int i=1; i<ellipses.length; i++) 
    { 
    for (int j=i; j<ellipses.length; j++) 
    { 
      if(j%10==0) 
      ellipses[i].draw();//calling function 
    } 
    } 
+0

Wenn Sie eine Frage stellen, sollten Sie einige Codes, die Sie ausprobiert haben, angeben und auch erwähnen, welcher Teil nicht funktioniert oder welche Art von Fehlern Sie bekommen oder welche Ausgabe Sie erwarten, aber Sie erhalten eine andere Ausgabe oder so. Bitte geben Sie einen [MCVE] an, um früher und genauere Hilfe zu erhalten. – STaefi

+0

Sie möchten zwei verschachtelte Schleifen, eine für Zeilen, eine für Spalten. Und innerhalb der inneren Schleife müssen Sie den Mittelpunkt der nächsten Ellipse basierend auf den Indizes der beiden Schleifen berechnen. - Was ist das Problem? – mayamar

+0

@mayamar ich probiere schon diesen Weg, 2 Schleifen zu machen und 1 Bedingung zu verwenden, wenn (i% 10 == 0) Ellipse drucken –

Antwort

0
import javafx.application.Application; 
import javafx.scene.Group; 
import javafx.scene.Scene; 
import javafx.scene.shape.Ellipse; 
import javafx.stage.Stage; 

public class T15DrawEllipses extends Application { 
    public static void main(String[] args) { 
     launch(args); 
    } 

    @Override 
    public void start(Stage primaryStage) throws Exception { 
     Group group = new Group(); 
     Scene scene = new Scene(group, 900, 600); 

     for (int row = 0; row < 10; row++) { 
      for (int col = 0; col < 10; col++) { 
       Ellipse e = new Ellipse(); 
       e.setCenterX(44 + col * 90); 
       e.setCenterY(29 + row * 60); 
       e.setRadiusX(45); 
       e.setRadiusY(30); 
       group.getChildren().add(e); 
      } 
     } 
     primaryStage.setScene(scene); 
     primaryStage.show(); 
    } 
} 

Ein komplettes Beispiel von 10 Zeilen/Spalten mit Ellipsen.

+0

Ich versuche, den Code oben, aber es funktioniert nicht, warum ich posX und posY brauchen nicht wollen Zentrum Ellipse, i pro Zeile nur 10 angezeigt –

+0

Sie Variablen posX und posY in Ihrem Unentschieden()-Methode. Wo stellst du sie hin? Normalerweise, wenn Sie eine Ellipse zeichnen möchten, benötigen Sie den Mittelpunkt der Ellipse und zwei Radiusparameter. Wenn Sie zehn Ellipsen in einer Linie zeichnen möchten, wird der Mittelpunkt der Ellipse von einer Seite zur anderen wandern. - Die verschachtelten Schleifen zeigen Ihnen, wie Sie die 100 in 10 Zeilen mit 10 Elementen aufteilen und wie Sie den Index im Array mit 100 Elementen erhalten. – mayamar

+0

Ich schätze Ihre Hilfe, aber ich benutze Verarbeitung zum ersten Mal, ich weiß nicht, ob über die Bibliothek, die Sie verwenden, ich werde Ihre Schritte folgen –

0

Die beste Sache, die Sie tun können, wenn Sie Fragen wie diese haben, ist, ein Stück Millimeterpapier herauszuholen und eine Reihe von Beispielen zu zeichnen, bis Sie ein Muster bemerken. Was ist die X,Y Position von jedem Kreis, den Sie zeichnen möchten? Was ist der X-Wert der ersten Zeile, der zweiten Zeile und der dritten Zeile? Was ist der Y-Wert der ersten Spalte, der zweiten Spalte, der dritten Spalte?

Sie sollten auch in die Gewohnheit der breaking your problem down into smaller pieces bekommen und diese Stücke auf einem nach dem anderen nehmen. Zum Beispiel, anstatt zu versuchen, 100 Kreise in einem Raster zu zeichnen, warum versuchst du nicht einfach 10 Kreise in einer einzigen Reihe zu zeichnen? Erstellen Sie eine Funktion, die eine Reihe von Kreisen zeichnet. Versuchen Sie dann, diese Funktion mehrmals aufzurufen, um Ihr Gitter aus Kreisen zu erstellen. zusammen mit einem MCVE

Wenn Sie auf einem bestimmten Schritt nicht weiterkommen, können Sie eine spezifischere Frage stellen. Viel Glück.

Verwandte Themen