0

私はこのアプリを持っています: http://www.jungle-g.co.il/#/System/

現在、ユーザーが製品 (例: シャツ) を選択すると、シャツの片面しか作成できません。ユーザーがシャツの別の面を編集したい場合は、最初の面の予約を完了してから、もう一方の面を招待する必要があります。

私の問題は、最初の画像をフラッシュ メモリまたはムービークリップに保存する方法が見つからないことです。私のインタビューは、ユーザーが実際の予約を行うことにした場合にのみ、ユーザーが編集する各サイドのムービークリップを作成し、ムービークリップからすべての写真を送信することです。これは可能ですか?そうでない場合、別の方法はありますか?

このトピックについて調査しましたが、使用できる解決策が見つかりませんでした。ウェブサイトを見つけました: http://code.google.com/p/swfupload/ しかし、それが私の場合にどのように役立つかわかりませんでした。

すべての助っ人に感謝します。私はこの事件について 1 か月以上頭を悩ませています。

4

1 に答える 1

0

bitmapData の静的を保持するクラスを作成できます。

package {

    public class ShirtState
    {
        public static var ShirtFront:BitmapData;
        public static var ShirtBack:BitmapData;
    }
}

片面を編集しているシャツがあるとします。

 var shirtFront:MovieClip; //this is the shirt you are working with.

終わったら

 var shirtFrontBitmap:Bitmap = new Bitmap(shirtFront.width, shirtFront.height);
 shirtFrontBitmap.draw(shirtFront);

ビットマップを取得したら、静的クラスに保存できます

 ShirtState.shirtFront = shirtFrontBitmap.bitmapData;

その後、リロードしない限り、アプリでいつでもアクセスできます。

いくつかの注意事項があります:

個々の swfs が DOM によってロードおよびアンロードされるモジュール アプリケーションがある場合は、LocalSharedObject を使用して画像を保存することができます。これを行うには、ビットマップ データを Base64 に変換し (とにかく)、その文字列をローカル共有オブジェクトに格納する必要があります。オブジェクトには最大ファイルサイズがあることに注意してください(それが何であるかはわかりません)。

必ずしもシャツの側面のビットマップを保存する必要はありません。シャツのクラスを作成するアプリケーションを作成すると、そのインスタンスが存在する限り、シャツの両側にアクセスできます。

このアプリをどのように構築しているかはわかりませんが、通常、すべてが同じコンテキストにある場合は、静的を使用する必要さえありません。処理のためにシャツの両面をサーバーに配信する実際のサービス呼び出しは、絶対的な最後に行われます。

于 2012-09-20T22:49:37.607 に答える