我是处理和 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
}
}
答案 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。祝你好运。