我编写的应用程序可以让人们通过互联网一起绘画(使用 Adobe cirrus)。一切都很好,但是当我运行我的应用程序并在我的朋友连接之前画一些东西时,他看不到我画的东西。所以我正在寻找一种方法,它可以让我将我的画布转换为可以通过互联网发送的东西(对象)(我不能发送整个 Sprite,不可能在朋友的应用程序上复制它的图形,它是空的)。
所以让我们弄清楚这一点。主要问题是:如何将 Sprite 的图形转换为对象,这将让我将其转换回 Sprite 并复制其画布。
解答: 我使用“www.Flextras.com”帖子中的 DisplayConverter 库和他的 mod 将 Sprite 转换为 BitmapData,然后转换为 ByteArray,它可以工作。我无法在朋友的应用程序上接收 BitmapData,但它可以与 ByteArray 一起使用。
精灵 -> 位图数据 -> 字节数组;
字节数组 -> 位图数据 -> 精灵;
//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();
希望这会对某人有所帮助