0

私の古い大学は、このファンシーなペーパードールをフラッシュで作成しました。これを Web ページに埋め込む必要があります。帽子、シャツ、靴などでペーパードールをドレスアップできます。ペーパードールの
横にあるアイテムが選択されるたびに、FlashVars パラメータが更新されます。

たとえば、「帽子」が押されると、FlashVars に次のことが起こります。
hat0shoe0... ----> hat1shoe0...
そして、帽子がペーパードールに表示されます。

その FlashVars を取得する方法はありますか? だから私はそれをサーバーサイドで使うことができますか?
ファンシーなJS / jqueryの代わりに、どうにかしてFormCollectionにアタッチできればと思い

ます:)事前に感謝します:)

4

1 に答える 1

1

アクションスクリプト 3

Actionscript 3 でフラッシュ変数を取得するには、次のようなことができます: (テストされていないコード)

var myFlashVars:Object = LoaderInfo(this.root.loaderInfo).parameters;
//To get boolean (true/false) values
var hat:Boolean = String(myFlashVars["hat"]) == "1" ? true : false;
var shoe:Boolean = String(myFlashVars["shoe"]) == "1" ? true : false;
//or, To get strings ("0"/"1")
var hatStr:String = String(myFlashVars["hat"]);
var shoeStr:String = String(myFlashVars["shoe"]);

Flash/Actionscript 3 経由でサーバーにデータを送信するには、URLLoader + URLRequest を使用できます。

var request:URLRequest = new URLRequest("http://yoursite.com/yourpage.php");
request.data = "hat=" + hatStr + "&shoe=" + shoeStr; //

var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
loader.addEventListener(Event.COMPLETE, callWasMade);
loader.addEventListener(IOErrorEvent.IO_ERROR, callFailedIOError);
loader.load(request);

function callWasMade(evt:Event):void{
  //Data sent, if needed you can check server response via evt.target.data
}
function callFailedIOError(evt:IOErrorEvent):void {
   //Holy crap I can't reach my server!
}

JavaScript

JavaScript 経由で FlashVars にアクセスしたい場合、および以下を使用している場合:

swfobject.embedSWF(swfUrlStr,,,,,, **flashvarsObj**,,,)

ここのドキュメントで定義されているように

定義した flashvarsObj を渡して、単純にサーバーに ajax 呼び出しを行ってみませんか。jQuery を使用すると、一般的な考え方は次のようになります。

$.ajax({
  url: "yourserverpage.php",
  data: flashvarsObj,
})
于 2012-02-28T15:31:39.013 に答える