これは私を苦労させています。私は過去にSWFObjectを使って作業しました。これは素晴らしいことです。しかし、JavaScriptを使用しないという要件があります。だから、私がフラッシュの例を網の上でやろうとすると、彼らは私のために働くようには見えない。繰り返すSWFObjectを含まないFlashVarsは純粋なAS3プロジェクトでは機能しません
ステップ:
1).swfファイルがあるどこのindex.htmlでのFlexまたはFlash Builderの
2)を使用して、純粋なAS3プロジェクトを作成し、名前と値のペアのサフィックスを追加します。 test.swf?foo = bar
3)メインクラスSpriteのコンストラクタで、trace(root.loaderInfo.parameters.foo)を実行します。期待
:バーが、私はそれがすべてではロードされていないかのようにまだ動作しません、将来的には5秒を評価するために)(のsetTimeoutを試した未定義
として描きます。
<noscript>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="${width}" height="${height}" id="${application}">
<param name="movie" value="${swf}.swf?foo=bar" />
<param name="quality" value="high" />
<param name="bgcolor" value="${bgcolor}" />
<param name="allowScriptAccess" value="sameDomain" />
<param name="allowFullScreen" value="true" />
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="${swf}.swf?foo=bar" width="${width}" height="${height}">
<param name="quality" value="high" />
<param name="bgcolor" value="${bgcolor}" />
<param name="allowScriptAccess" value="sameDomain" />
<param name="allowFullScreen" value="true" />
<!--<![endif]-->
<!--[if gte IE 6]>-->
<p>
Either scripts and active content are not permitted to run or Adobe Flash Player version
${version_major}.${version_minor}.${version_revision} or greater is not installed.
</p>
<!--<![endif]-->
<a href="http://www.adobe.com/go/getflashplayer">
<img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash Player" />
</a>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
</noscript>
AS3は
package
{
import flash.display.LoaderInfo;
import flash.display.Sprite;
public class FlashVarsTest extends Sprite
{
public function FlashVarsTest()
{
var paramsObj:Object =
LoaderInfo(root.loaderInfo).parameters;
trace("foo="+paramsObj["foo"]);
}
}
}
これは動作しません。次のいずれか
package
{
import flash.display.LoaderInfo;
import flash.display.Sprite;
import flash.events.Event;
public class FlashVarsTest extends Sprite
{
public function FlashVarsTest()
{
this.addEventListener(Event.ADDED_TO_STAGE, init)
}
private function init(event:Event):void
{
var paramsObj:Object =
LoaderInfo(root.loaderInfo).parameters;
trace("foo="+paramsObj["foo"]);
}
}
}
作品 – hooleyhoop
は、我々はあなたのAS3コードを見ることができます:両方の出力が
root.loaderInfo
HTMLに関連する遅延が描画されていないことを証明し、期待通りに出てきますか? – Taurayi
'