我想圖優雅的方式來顯示網格中的一定數量的項目。我有一種感覺,答案部分取決於模數,但比這更復雜一點。我知道如何根據一定數量的列在網格中佈置項目。事情是這樣的:模塊/網格佈局與項目的變化大小
for (var j=0;j<numFiles;j++){
clip.x = clip.width * (j % cols);
clip.y = clip.width * int(j/cols);
}
,但我想要做的是一套東西,例如,如果只有一個項目(j = 0),圖像覆蓋整個可用區域(stage.Width和stage.Height或者爲了簡單起見,1000px和500px)。如果有2個項目,應該有2列,圖像佔舞臺寬度的一半,所有高度(500x500),3項-3列(300x500),4項-2列& 2行( 500x250)等等,保持平衡的網格佈局,但減少項目的尺寸並以某種邏輯和平衡的方式增加行數。
有一種方法可以在數學上做到這一點,但我沒有遇到它,似乎無法自己掌握它。如果有人有想法,我很樂意聽到它。我在Flash AS3中這樣做,但任何示例都會有用。
你會喜歡的東西17個項目嗎?沒有行/列的組合,不會讓你留下一個不完美的矩形,這似乎是你在做什麼。是一個不完美的矩形,是否有最大數量的列? – ThatSteveGuy
它不需要完美 - 儘可能接近矩形。你可以指定最大的列數,但基本上它需要容納未知數量的圖像,例如,如果有100個圖像,則列數可能會增加到10個,每個圖像的大小可能會增加圖像減少。 – mheavers