当我显示10个椭圆时的新行

时间:2017-11-25 11:07:54

标签: java processing graphics2d

我是处理 java 的新手,我有一些练习来显示 100个椭圆,但屏幕尺寸为(900,600) ,我希望在10行10行 100 ,但我不知道如何在处理中打破行,我已经使用翻译(https://processing.org/reference/translate_.html),但它没有&# 39;工作。

  //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
     } 
  }

2 个答案:

答案 0 :(得分: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();
    }
}

包含省略号的10行/列的完整示例。

答案 1 :(得分:0)

当你遇到这样的问题时,你能做的最好的事情就是拿出一张方格纸,然后抽出一堆例子直到你发现一个模式。您想要绘制的每个cirlce的X,Y位置是什么?第一行,第二行,第三行的X值是多少?第一列,第二列,第三列的Y值是多少?

你也应该养成breaking your problem down into smaller pieces的习惯并一次取一个。例如,为什么不尝试在一行中绘制10个圆圈,而不是尝试在网格中绘制100个圆圈?创建一个绘制一行圆的函数。然后尝试多次调用该函数来创建圆圈网格。

如果您遇到特定步骤,可以提出更具体的问题以及MCVE。祝你好运。