저는 JavaFX에서 Conway의 Game of Life를 간단한 그리드 기반 변형으로 만들고 있습니다. StackExchange에서 찾은 예제를 사용하고 있습니다. 문제는 그 예제에서 스케일링 방법이 나를 위해 작동하지 않는 것입니다. 이 예제에서는 그리드의 "크기"를 선택할 수 있습니다. 즉, 구성되는 행/열의 수를 의미하며, 그 다음에 눈금이 해당 그리드의 각 셀의 크기를 결정하여 그리드가 사용자가 창 크기를 조정하면 캔버스가 표시됩니다.2D 그리드를 캔바스 크기로 스케일하는 방법은 무엇입니까?
(0,0) 및 ((xMax - 1), (yMax - 1))을 사용하여 왼쪽 상단 및 오른쪽 하단 셀을 "채우는"방법으로 테스트했습니다. 하지만 오른쪽 하단의 것은 캔버스 경계 밖으로 벗어나는 것처럼 보입니다. yMax에서 1을 뺀 것이 나타나야합니다. 여기
는
private double getScaleFactor() {
return (canvas.getWidth() + canvas.getHeight())/(cellsWide + cellsHigh);
}
이 방법에 문제가 있나요 ... 내가 사용은 "배율 계수"방법? GUI를 구성하는 방법 일 수 있습니까? 캔버스는 BorderPane의 중심에 바인딩되며, 위쪽에 바인딩 된 HBox와 왼쪽에 바인딩 된 VBox가 있습니다. 그러나 저는 평소처럼 (폭/2)와 (높이/2)를 사용하여 캔버스 중심에 물건을 그릴 수 있었으므로 크기 조정 요소를 얻는 방법에 문제가 있습니다.
누군가 나를 도울 수 있습니까?
열과 행의 비율은 항상 동일합니까? 축척 비율은 행 수와 열 수 모두에 적용됩니까? – Aderis
치수가 서로 같아 지도록 치수를 유지하거나 개별 값을 선택할 수있는 옵션이 있습니다. 네, 척도는 두 가지 모두에 적용됩니다. –