我編寫的應用程序可以讓人們通過互聯網(使用Adobe捲雲)繪製在一起。一切都很好,但是當我運行我的應用程序並在朋友連接之前畫一些東西時,他沒有看到我繪製的東西。所以我正在尋找方法,它可以讓我將畫布轉換爲可以通過互聯網發送的東西(對象)(我無法發送整個Sprite,也不可能將其圖形複製到朋友的應用程序中,它是空的)。AS3/FLEX - 如何將Sprite圖形轉換爲字節
所以讓我們弄清楚。主要問題是:如何將Sprite的圖形轉換爲對象,這會讓我將它轉換回Sprite並複製它的畫布。
答: 我用DisplayConverter庫從「www.Flextras.com」後,他向國防部轉換雪碧對BitmapData,然後ByteArray的和它的作品。我無法在朋友的應用程序上收到BitmapData,但它與ByteArray一起工作。
Sprite - > BitmapData - > ByteArray;
ByteArray - > BitmapData - > Sprite;
//TO SEND
var bitmapdata:BitmapData = DisplayConverter.spriteToBitmapData(palette);
var bytearr:ByteArray = bitmapdata.getPixels(bitmapdata.rect);
//TO RECEIVE
var bmd:BitmapData = new BitmapData(530,430);
bmd.setPixels(bmd.rect, bytearr);
mysprite.graphics.beginBitmapFill(bmd);
mysprite.graphics.drawRect(0,0,530,430);
mysprite.graphics.endFill();
希望這會幫助別人
我以前試過這個庫,但它似乎不適用於我的情況。我會再次嘗試與你的mod。 BTW即時消息不使用任何服務器,只是Cirrus,P2P。所以也許這就是問題所在,當我將Bitmap發送給我的朋友時,他會在從我完全接收/下載之前嘗試轉換該Bitmap? – swoorn
我沒有與Cirrus親身經歷。但是,如果您在獲取所有數據之前嘗試處理BitMap,很容易看出這可能會導致問題。 – JeffryHouser