J'ai écrit une application qui permet aux gens de peindre ensemble via Internet (en utilisant Adobe cirrus). Tout fonctionne bien mais quand par exemple je lance mon application et peins quelque chose avant que mon ami ne se connecte, il ne voit pas ce que j'ai peint. Donc je cherche la méthode, qui me permettrait de convertir ma toile en quelque chose (objet) qu'il est possible d'envoyer par internet (je ne peux pas envoyer tout Sprite, il n'est pas possible de copier ses graphismes sur l'application de mon ami, c'est null).AS3/FLEX - comment convertir les graphiques Sprite en octets
Alors, soyons clairs. La question principale est: Comment convertir des graphiques de Sprite en objet, cela me permettrait de le convertir en Sprite et de copier sa toile.
RÉPONSE: J'utilise la bibliothèque DisplayConverter de poste « www.Flextras.com » avec son mod pour convertir Sprite à BitmapData puis à ByteArray et cela fonctionne. Je n'ai pas pu recevoir BitmapData sur l'application de mon ami, mais cela a fonctionné avec 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();
Espérons que cela aidera quelqu'un
J'ai essayé cette bibliothèque auparavant, mais elle ne semblait pas fonctionner dans ma situation. Je vais essayer à nouveau avec votre mod. BTW im n'utiliser aucun serveur, juste Cirrus, p2p. Alors peut-être que c'est le problème, que quand j'envoie Bitmap à mon ami, il essaie de convertir ce Bitmap avant qu'il ne soit entièrement reçu/téléchargé de moi? – swoorn
Je n'ai pas d'expérience personnelle w/Cirrus. Cependant, si vous essayez de traiter un BitMap avant d'avoir toutes les données; il est facile de voir comment cela pourrait causer un problème. – JeffryHouser