1

ループから taxt 値を変更したいのですが、変更するたびにそこから画像を取得します。

もう一方が開始番号で、もう一方が終了番号である 2 つの数値ステッパーがあります。機能を開始するボタンもあります。

押された後、それが始まります:

private function makeFrames():void
{

    for (var i:int = 0; i < endFrameNumber.value; i++) 
    {
        currentFrameNumber++;
        frameText.text = currentFrameNumber.toString();
        makeImage(currentFrameNumber);
    }

}

次に、テキストから画像を作成します。

private function makeImage(value:int):void
{
    var projectFolderName:String = createFolder();

    bitmapData = new BitmapData(frameText.width,frameText.height, true, 0x00ffffff);
    bitmapData.draw(frameText,new Matrix());
    var bitmap : Bitmap = new Bitmap(bitmapData);
    var png:PNGEncoder = new PNGEncoder();
    var ba:ByteArray = png.encode(bitmapData);
    newImage = File.desktopDirectory.resolvePath(projectFolderName + "/" + "frame-number_" + value + ".png");
    fileStream = new FileStream();
    fileStream.open(newImage, FileMode.APPEND);
    fileStream.writeBytes(ba);
    fileStream.close();

}

最初にテキスト値を変更してから、それをキャプチャしようとします。はい、画像を作成しますが、すべての数字は同じです。それでは、ループで「makeImage」を実行し、開始番号と終了番号の間のすべての画像をキャプチャするたびに、テキスト値を変更するにはどうすればよいですか??

Flash Builder 4.6 と AIR を使用。

4

1 に答える 1

0

Flex コンポーネントのライフサイクルについて読む必要があります。

したがって、問題を解決するには2つの方法があります。

  1. invalidateProperties -> commitProperties を使用します。
  2. Event.ENTER_FRAME に EventListener を追加

もちろん使えませんforeach。各入力フレームでは、次のことを行う必要があります。

  1. 新しいテキストを設定
  2. テキスト表示を無効にする
  3. 画像を作成して保存する
于 2012-09-15T19:13:16.443 に答える