歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

haXe開發備忘:位圖重復填充的問題

haXe開發中發現:在native也就是cpp目標中,用Graphics.beginBitmapFill()這個方法填充一個區域時,repeat參數不起作用,結果總是用邊緣像素填充了空白區域。

經過一番檢索與研究,發現這是OpenGL硬件渲染器的一個已知限制,如果紋理圖的邊長不是2的整數倍(如4, 16, 64, 256, 1024...)的話,就是這個結果。

有幾個解決方案可根據實際情況選用:

1. 強制NME采用軟件渲染器,方法是把顯示對象的cacheAsBitmap這個屬性置為true;另外在顯示對象上設置濾鏡filters也會導致NME采用軟件渲染

2. 放縮用來填充的位圖,令其邊長為2的整數倍

3. 讓美工准備圖時就事先處理成2的整數倍邊長

4. 自己用drawRect處理重復

Copyright © Linux教程網 All Rights Reserved