2

良い一日。ゲーム用のフラッシュ ファイルのようなライブラリを作成しています。as3とadobe indesignでadobe flash cs5を使用しています。私はまだフラッシュに非常に慣れていないので(本当の初心者です)、誰かが私の問題で私を助けてくれるかどうか疑問に思っています。

説明:

「mainPage」という名前のムービークリップ ファイルがあります。mainPage には 6 つのボタン (クリスタル デザイン) が含まれていますが、1 つのボタンだけに焦点を当てます。最初のボタンには Art_btn という名前が含まれており、ボタンがクリックされたときに movieclip artBook を呼び出します (これは私の問題です)。「artBook」という名前の別のムービークリップがあります。私のartBookのコンテンツは、次または前をクリックしたときに呼び出すことができる各フレームに分かれているか、書き込まれています。

これが私の問題です。Art_btn がクリックされたときに artBook を呼び出す正しいコードが何かわかりません。loadMovie、gotoAndPlay、addChild などのコードを挿入しようとしましたが、テストすると、mainPage のコンテンツが表示されず、エラーが発生します。

私の問題を解決するには、2 つのオプションがあります。

  1. flash cs5のアクションタブにadobe indesignで作ったswfファイルを読み込む

  2. ボタンのクリックで別のムービー クリップをロード/開く。


私の最初のオプションの目的は、本の少なくとも単純なページめくり効果を作成することです.Adobe indesignで作成されたファイルは、Flash Adob​​e CS5の外で開いたときに機能します

私の 2 番目のオプションは、特定のボタンを押したときに別のムービー クリップを呼び出すことで、ページ フリップ アニメーションなどはまったくありません。


メインページのアクションパネルにあるフラッシュ内の唯一のコードは次のとおりです

stop();

import flash.events.MouseEvent;

Art_btn.addEventListener(MouseEvent.CLICK, ArtClick);

function ArtClick(event:MouseEvent){
 //what should be put here? :( here is where i put the codes i tried that causes the error

}

誰かが私を助けてくれることを願っています。:(うまくいけば本当にありがたいです。答えてくれる人に感謝します

4

1 に答える 1

1

オプション 1 (外部 SWF のロード) を実行する方法は次のとおりです。

var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, handleLoaded);
loader.load(new URLRequest("nameAndLocationOfSWFFile.swf"));

function handleLoaded(evt:Event):void {
   //evt.target.content is your reference to the swf that was loaded
   addChild(evt.target.content);
}

オプション 2 については、タスクをどのように達成しようとしているかによって異なります。あなたの説明に基づいて、あなたが試みている正確な意図やアプローチが何であるかはわかりませんが、ムービークリップを別のフレームのステージに既に追加するか、ムービークリップの新しいインスタンスを作成することができます。

別のフレームを使用するには、ステージ上の別のフレームにムービークリップを配置し、そのフレームにラベルを付けます。内部からArtClick()、 を呼び出すことができますgotoAndStop("myTargetFrameLabel")

ムービークリップの新しいインスタンスを作成するには、ムービークリップへのリンクを設定する必要があります。ムービークリップに ArtBook というリンケージ クラス名を付けると、 内で次のように使用できますArtClick()

var myClip:MovieClip = new ArtBook();
addChild(myClip);

これにより、ArtBook の新しいインスタンスがステージに追加されます。

于 2011-09-05T05:09:07.557 に答える