2011-05-17 19 views
0

皆にとって良い日です。私は今日、Flash CS4とActionScript 3.0について助力を求めています。私の上司は、新しく開発されたソフトウェアの今後のユーザートレーニングについて、私にフラッシュプレゼンテーションを依頼しました。私はFlashを使用していないことが長い間続いていたので、私は熱心で興奮していました(ActionScript 3.0での経験はありません)。最初は、フレームを適切に使用してアニメーションをうまく作成する方法を思い出す必要があるため、すべてが少し荒いです。私がプロジェクトを終えようとしていたとき、私の上司がもう一度私に近づいてきて、メニューページを挿入して、その部分を少しだけ探して映画。だから、最初は私は受け入れることを躊躇していた。私はそれがパワーポイントで動作すると言いました。しかし、彼女はトータルプッシャーで、私は「はい」と言わなければなりませんでした。今私はフラッシュボタンをswfムービーをロードする方法についてこの問題を抱えています。私はチュートリアルのためにネット全体を検索しようとしましたが、ほとんどの場合、 "getUrl"やその他のものは古くなると言われています。助けてください?Flashボタン(SWFファイルを開くためのフラッシュボタンを含むメニューページの作成)

+0

「フラッシュボタン」を開いてURLムービーを開くとはどういう意味ですか? Flashムービーのボタンを同じムービーの別の部分(goToAndPlay()など)に移動したり、ブラウザ内のFlashムービーを別のページなどに移動させたりすることを意味しますか? – WirthLuce

+0

私は今、メニューページに問題があります。私はそれがコンテンツ(トレーニングプレゼンテーション)よりも別のドキュメントであることを好む。メニューページの中には、クリックするとswfファイルを新しいウィンドウに読み込んで開くことができます。メニューページが重ならないようにして、いつでも他のコンテンツを開くことができます。メニューページ。 –

+0

私はフラッシュテンプレートを購入し、あなたのニーズに合わせて変更することをお勧めします。 AS3の学習曲線があります。もしあなたがhttp://activeden.net/category/flash/menus-buttonsのようなサイトに行くなら、そこでは非常に安いものを購入して、作者のまともなサポートを得ることができます。 –

答えて

1

この回答はあなたの質問に対する私の解釈に基づいています。「メニューとして機能するSWFを作成し、メニュー内でクリックした内容に基づいて別のSWFファイルに読み込むことはできますか?

答えはイエス、もちろんであり、ここでは方法は次のとおりです。

あなたが/を見て理解する必要がありますいくつかのこと:

  1. ローダークラスとURLRequestクラスを。
  2. イベントボタンのリスナーです。

ここにあなたのSWFをロードするための機能です:

var loadedSWF:Loader = null; 

/** 
* Loads an SWF and adds it to container once complete 
* @param file The URL to the SWF to load 
* @param container The container to add the SWF to 
*/ 
function loadSWF(file:String, container:MovieClip=null):void 
{ 
    if(container == null) container = MovieClip(root); 

    // removes the previously loaded SWF 
    if(loadedSWF != null) 
    { 
     if(loadedSWF.parent) loadedSWF.parent.removeChild(loadedSWF); 
    } 

    var req:URLRequest = new URLRequest(file); 
    loadedSWF = new Loader(); 
    loadedSWF.load(req); 

    addChild(loadedSWF); 
} 

そして、ここでは、ボタンをクリックしたときに、この機能を使用する方法は次のとおりです。質問1として

mybutton.addEventListener(MouseEvent.CLICK, _click); 
function _click(e:MouseEvent):void 
{ 
    loadSWF("myfile1.swf"); 
} 

コメントで:

代わりにnavigateToURL()を使用できます基本的にウェブサイトのような別のページに外部SWFを設定します。これを行うつもりならば、メインのインデックスページをプレーンなHTMLに保ち、新しいウィンドウでページを起動する方が理にかなっています。メインページをフラッシュとして残しておきたい場合は、次のように新しいウィンドウのページをクリックしてください:

button.addEventListener(MouseEvent.CLICK, _click); 
function _click(e:MouseEvent):void 
{ 
    var req:URLRequest = new URLRequest("somepage.html"); 
    navigateToURL(req, "_blank"); 
} 
+0

ありがとうございました。私はそれを試みます。申し訳ありませんが、回答を得点する勘定はありません。 –

+0

ねえ。私には最後の問題が1つあります。1120:未定義のプロパティボタンへのアクセス。どうすれば修正できますか?問題はこの行にあります。button.addEventListener(MouseEvent.CLICK、_click);関数_click(e:MouseEvent):void {loadSWF( "Main.swf"); } –

+0

ボタンを作成し、プロパティパネルでインスタンス名 "mybutton"を指定する必要があります。ここから、異なるSWFをロードし、異なるインスタンス名を与える複数のボタンを作成できます。次に、クリックイベントのコードをコピー&ペーストして、 "mybutton"をボタンの名前に置き換え、ロードするファイルをファイル名に置き換えます。 – Marty

関連する問題