2014-01-25 24 views
0

我想使用户输入50-100%的百分比,并根据该百分比绘制瑞士国旗​​! 我不需要确切的代码,只是解释如何做到这一点,以及我应该包括/排除。如何让Java根据百分比输入绘制一个形状?

我对此很新,不知道我应该如何做到这一点。 这是我的代码到目前为止。这引出因为它应该在100%要显示的标志: (注释语言是挪威语)

//Lager Flagget 
    makeWindow("Flagg", 500, 500); 
    String innStr = getText ("Størelse i prosent(50-100):"); 



     //Setter blå bakgrunn 
     setColor(135,206,250); 
     fillRectangle(0, 0, 500, 500); 

     //Lager en rød bakgrunn til flagget 
     setColor(255, 0, 0); 
     fillRectangle(100, 100, 300, 300); 

     //Lager et hvit rektangel lodrett i midten av flagget 
     setColor(255, 255, 255); 
     fillRectangle(225, 175, 50, 150); 

     //Lager et hvit rektangel vannrett i midten flagget 
     setColor(255, 255, 255); 
     fillRectangle(175, 225, 150, 50); 

编辑:该标志是在窗口在任何时候中间被抽!

回答

0

来定义工作的最简单方法对于坐标到你的窗口的中心,然后绘制之前翻译:

//Lager Flagget 
    makeWindow("Flagg", 500, 500); 
    String innStr = getText ("Størelse i prosent(50-100):"); 

    int pct = Int.parseInt(innStr) ; 

    int cX = 250 ; // Center of the window 
    int cY = 250 ; // Center of the window 
    int flagHmax = 300 ; 
    int crossHmax = 150 ; 
    int barWmax = 50 ; 

    flagH = flagHmax * pct/100 ; // integer math 
    crossH = crossHmax * pct/100 ; 
    barW = barWmax * pct/100 ; 


    //Setter blå bakgrunn 
    setColor(135,206,250); 
    fillRectangle(0, 0, 500, 500); 

    //Lager en rød bakgrunn til flagget 
    setColor(255, 0, 0); 
    fillRectangle(cX - flagH/2, cY - flagH/2, flagH, flagH); 

    //Lager et hvit rektangel lodrett i midten av flagget 
    setColor(255, 255, 255); 
    fillRectangle(cX - barW/2, cY - crossH/2, barW, crossH); 

    //Lager et hvit rektangel vannrett i midten flagget 
    setColor(255, 255, 255); 
    fillRectangle(cX - crossH/2, cY - barW/2, crossH, barW) ;