CEGUI使用了UDim做長度度量。UDim包含縮放比例和像素偏移兩部分。因爲使用了相對於父窗口的比例,所以轉換爲像素時就不一定是整數了。比如,父窗口寬800pixels,則相對於父窗口寬的0.001就是0.8pixel。但是,像素也不能是0.8個啊。所以,最終繪製的時候,CEGUI進行了四捨五入。
因此,當要手動去排列一些控件時。一定要使用絕對像素,而不能用按比例縮放。因爲要自己進行四捨五入,否則控件之間要麼間隔一個像素,要麼掩蓋一個像素。
注:
四捨五入,這個很簡單。
比如,int width_pixels = width_scale*wnd->getPixelSize().d_width + 0.5f,即可。