看板 java 關於我們 聯絡資訊
※ 引述《seruze (seruze)》之銘言: : 我設置了一條線,先設為黑色的線.( 由X1到X2 的一條線段) : 在按下開始鈕後,這條線會一段一段變成白色,60秒後全變白. : 一秒會變一段,所以60秒全變白. : 所以我的想法是設一個 int step = (X2-X1)/60; : 然後每過一秒,畫一段step長度的線段. : 但現在問題來了,60個step加起來,也不會和(X2-X1)一樣長度. : 因為在做除法的時候,有誤差. : 請問有大大做過類似的嚐試嗎? : 能指點一下做類似功能的想法嗎? : 希望各位能多多指教,謝謝! 反過來做就好了啦 不是求線段長度再遞增, 而是每次直接求 需要的線線座標 有本來的 X1, X2 每一秒求出要畫的線段的兩個座標: (psuedo code): int x1=??; int x2=??; int stepFrom=x1; int stepTo=0; for (i=0; i < 60; i++) { stepTo = ((x2-x1) * (i+1)/60) + x1; // 算出這段要畫到哪 draw(stepFrom, stepTo); stepFrom = stepTo; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 202.155.236.82 ※ 編輯: adrianshum 來自: 202.155.236.82 (12/16 12:13)
seruze:感謝回答,我也想過這種作法,只是線段長度會沒辦法一樣. 12/16 13:41
seruze:雖然差異很小,但不知有沒有其他作法呢,希望能參考更多^^ 12/16 13:42
pao0111:使用縮放的技巧,每次畫10個pixel,從0畫到600個pixel。 12/17 00:33
pao0111:再放大至真正要顯示的寬度。請參考Graphics2D.scale()。 12/17 00:36
seruze:喔喔~~@@,Graphics2D~~我還沒用過~~我來找找看,謝謝^^ 12/17 00:47