2017-11-25 127 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。祝你好運。