2017-11-25 166 views
0

我新在处理的java,我有一些运动,以显示100椭圆但屏幕尺寸是(900,600),和欲打破100在10行 of 10,但我不知道如何在处理中断线,我已经使用translate(https://processing.org/reference/translate_.html),但它不起作用。新行,当我显示10椭圆

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

当你问一个问题时,你应该提供一些你已经尝试过的代码,并且提到哪个部分不工作,你得到了什么样的错误或者你期望的输出,但是你得到了另一个输出。请提供[MCVE]以获得更快更准确的帮助。 – STaefi

+0

你想要两个嵌套循环,一个用于行,一个用于列。在内部循环中,您必须根据两个循环的索引来计算下一个椭圆的中心。 - 问题是什么? – mayamar

+0

@mayamar我已经尝试做2循环的方式,并使用1条件如果(我%10 == 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的行/列的一个完整的例子。

+0

我尝试上面的代码,但它不起作用,为什么我需要posX和posY不想要中心椭圆,我只是每行显示10个 –

+0

您的绘图中有变量posX和posY ()-方法。你在哪里设置它们?通常如果你想画一个椭圆,你需要椭圆的中心和两个半径参数。如果要在一条线上绘制十个椭圆,则椭圆的中心将从一侧移动到另一侧。 - 嵌套循环向您展示了如何将10行中的100分为10个元素以及如何获得100个元素数组中的索引。 – mayamar

+0

我很感激你的帮助,但我第一次使用处理,我不知道你使用的是否是图书馆,我会按照你的步骤 –

0

当你有这样的问题时,你可以做的最好的事情是拿出一张方格纸,并画出一堆例子,直到你注意到一个模式。你想绘制的每个圆圈的X,Y位置是什么?第一行,第二行,第三行的X值是多少?第一列,第二列,第三列的Y值是多少?

你也应该养成breaking your problem down into smaller pieces的习惯,并且一次一个地把它们取出。例如,不是试图在网格中绘制100个圆圈,为什么不试图在单个行中绘制10个圆圈?创建一个绘制一排圆圈的函数。然后尝试多次调用该函数以创建您的圆形网格。

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