0

私は EZFLAR と Flash を使って本や雑誌を作っていますが、マーカーがたくさん必要になるので (それらが多ければ多いほど FLARToolkit で区別できなくなります)、今は別のアプローチを試しています: たった 3 つのマーカーと次に、マーカーごとに異なるアクションをトリガーする別の SWF をロードします。

そのために、ユーザーがクリックした内容に応じて特定の swf をロードするように担当する loader.swf を作成しました。最初のボタンから始めましたが、問題なく読み込まれますが、2 つの問題があります。

最初の問題は、それほど重要ではありませんが、EZLFAR.fla に配置することさえせず、ウェブカメラ ストリームに何も追加できないように見えることです。ウェブカメラは常にすべてをカバーします。そこで、UI (戻るボタンやその他の SWF ローダーなど) を配置できる場所に少し余白を追加することにしました。

2 番目の問題が発生しました。unload() も unloadAndStop() も機能しません。関数内にトレースを入れて、クリックで入力されるかどうかを確認しましたが、Webcam swf をアンロードしません。また、リスナーを Webcam swf に追加すると、クリックが検出されません。

これは私のコードです:

import flash.display.Loader
import flash.net.URLRequest
import flash.events.Event

var myLoader:Loader = new Loader(); 

rptr.addEventListener (MouseEvent.CLICK, raptorLoad);

function raptorLoad (e:MouseEvent):void 
{
    var url:URLRequest = new URLRequest("rptr.swf"); 
    myLoader.load(url); 
    addChild(myLoader);
}

myLoader.addEventListener(MouseEvent.CLICK, unLoad);

function unLoad (event:MouseEvent):void 
{
    trace("click!");
    myLoader.unloadAndStop();
}

どんな助けでも大歓迎です、ありがとう!

4

1 に答える 1

1

Loader.unload()は、ロードされたコンテンツを破棄せず、ローダーインスタンスの表示リストからコンテンツを削除するだけです。コンテンツを手動で破棄する必要があります。詳細については、 Loader.unloadのドキュメントを確認してください。

カメラの上にコンテンツをロードするというあなたの他の問題...そのコードをもっと見ることなしに、問題が何であるかを知るのは難しいです。ローダーにイベントリスナーを追加することをお勧めします。ロードが完了するまで待ってから追加してください。

于 2011-05-02T17:09:53.140 に答える