メイン 迷える子羊の部屋【初心者専用】
外部swfのstageの記述方法について | 投稿するにはまず登録を |
| フラット表示 | 前のトピック | 次のトピック |
| 投稿者 | スレッド |
|---|---|
| aya0821 | Åê¹ÆNo.48668 投稿日時: 2012-1-18 15:41 |
新米 ![]() ![]() 居住地: 投稿: 2
使用環境:
|
外部swfのstageの記述方法について windows7
flash5.5 AS3 で作成しております。 アクションスクリプト自体を始めて間もなく、恐縮ながら初めて質問させていただきます。 現在、外部swfを読み込んで親swfに表示させるというフラッシュを作成しています。 親swfの中には複数のボタンがあって、ボタンを押すと指定したラベルへ飛び、子swfを読み込みます。 更に子swfの中に複数ボタンがあり、押すとムービークリップを読み込みます。 子swfを単独でパブリッシュするとエラーもなく上手くいくのですが、親swfをパブリッシュすると、子swfの中で記述したイベントリスナーが下記のようにエラーとなってしまいます。 エラー内容************************************************* TypeError: Error #1009: null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。 at movie_fla::MainTimeline/mov_motion() *********************************************************** mov_motionというのは、子swf側のマウスに追従するメニューバーの部分です。 子swf側なのにstageと記述している部分が問題なのかと、いろいろなサイトを拝見しましたが、私のレベルが低すぎて何をどう書き変えればいいのか理解できませんでした。。 子swf側のエラーとなるイベントリスナーのスクリプトです↓↓↓ ----------------------------------------------------------- var speed:int = 0; var friction:Number = 0.2; leftBtn.addEventListener(MouseEvent.ROLL_OVER, leftRollOver); leftBtn.addEventListener(MouseEvent.ROLL_OUT, rollOut); rightBtn.addEventListener(MouseEvent.ROLL_OVER, rightRollOver); rightBtn.addEventListener(MouseEvent.ROLL_OUT, rollOut); function leftRollOver(event:MouseEvent):void{ speed = 20; } function rightRollOver(event:MouseEvent):void{ speed = -20; } function rollOut(event:MouseEvent):void{ speed = 0; } addEventListener(Event.ENTER_FRAME, mov_motion); var goalX:Number = mov_mc.x; function mov_motion(event:Event):void{ var nextX:Number = goalX + speed; if(nextX<=0 && nextX >= -mov_mc.width+this.stage.stageWidth){ goalX +=speed; }else if(speed == 20){ goalX = 0 }else{ goalX = -mov_mc.width+this.stage.stageWidth; } mov_mc.x += (goalX - mov_mc.x)*friction; } ----------------------------------------------------------- 親swf側のラベル”movie”に記述したスクリプトはこれです↓↓↓ ----------------------------------------------------------- var movie; var loader = new Loader(); var my_swfbox:Sprite; var url_req = new URLRequest("movie.swf"); loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaded); loader.load(url_req); //スプライトを配置して、その中に呼び出し my_swfbox = new Sprite(); addChild( my_swfbox ); my_swfbox.addChild( loader ); function onProgress(event) { var percent = Math.floor(loader.contentLoaderInfo.bytesLoaded / loader.contentLoaderInfo.bytesTotal * 100); loadingBar.percent_txt.text = String(percent); loadingBar.loaded_mc.scaleX = percent / 100; } function onLoaded(event) { loader.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS, onProgress); loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, onLoaded); movie = loader.contentLoaderInfo.content; movie.scaleX = 1; movie.scaleY = 1; m_load_mc.addChild(movie); removeChild(loadingBar); movie.play(); } ----------------------------------------------------------- 読み込み側もこれで合っているのかわかりませんが、 ほぼ見よう見まねで作っているので間違いだらけかもしれません。 説明不足な点がございましたらご指摘の程よろしくお願いいたします。 |
| フラット表示 | 前のトピック | 次のトピック |
| 題名 | 投稿者 | 日時 |
|---|---|---|
| » |
aya0821 | 2012-1-18 15:41 |
| |
mayor | 2012-1-18 15:55 |
| |
aya0821 | 2012-1-18 18:01 |
| |
mayor | 2012-1-18 18:09 |
| |
mayor | 2012-1-18 18:25 |
| |
Fumio | 2012-1-18 19:50 |
| 投稿するにはまず登録を | |



ログイン


