メイン とにかくFLASH【FLASHに関して全般】 swfファイルの書き出しについて | 投稿するにはまず登録を |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
yuki_usagi | Åê¹ÆNo.3063 投稿日時: 2004-1-22 21:19 |
半人前 居住地: 三多摩 投稿: 31
使用環境:
windowsXP、または2000。 FlashMX |
Re: swfファイルの書き出しについて こんばんは。
お世話になっておきながら、ずいぶんと放っておいてしまいまして申し訳ありません。 とりあえず、今回のムービーの読み込みに関しての問題は解消しました。 ありがとうございました。 Flashに関しては、たくさん疑問がありますが、またぶち当たったときには質問させていただきますので、よろしくお願いします。 |
野中文雄 | Åê¹ÆNo.1722 投稿日時: 2003-11-28 11:46 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: swfファイルの書き出しについて まぁ、結果として、本題の方がおわかりになれば、どうでもいいことです。
引用: yuki_usagiさんは書きました: MovieClipをターゲットとして、外部SWFをロードすると、ユーザー定義のプロパティやメソッドはすべてクリアされます。手持ちのカードを、全取っ替えするようなものです。読込み元MovieClipのフレームアクションは、その捨てられてしまうカードになります。 ただMovieClipアクションは、中身が入替っても、そのまま存続します。 引用: 原因が分かってこの件に関しては問題ないのですが、一応きちんとすべてのフレームの読み込みを待つ処理をしておこうと思います。 フレームには、イベントハンドラアクション(on)は、指定できないと思います。 イベントハンドラメソッド(MovieClip.onRollOver等)を使ったときのことですか? その場合、イベントハンドラメソッドも、捨てられてしまうカードです。 引用: ひとつ疑問なのですが、ダミーMCを配置してswfファイルを読み込んだ場合、読み込み元のフレームでダミーMCのインスタンス名を指定してon(rollOver){ }やon(release){ }などでボタンとして機能させようとすると、どうも操作できないようなのですが、このようなことは不可能なのでしょうか? 結論として、そういうことになります。 引用: 読み込むswfのフレーム、もしくはダミーMCにスクリプトを書くとうまくいくので、ここに書くしかないのかな、と思っていますが・・・。 |
yuki_usagi | Åê¹ÆNo.1720 投稿日時: 2003-11-28 11:10 |
半人前 居住地: 三多摩 投稿: 31
使用環境:
windowsXP、または2000。 FlashMX |
Re: swfファイルの書き出しについて おはようございます。
間があいてしまいましたが、書かせていただきます。 「_root._yはなぜ0になるのでしょうか?」 と書きましたが、これは理解できました・・・お恥ずかしい(><) gingaさんの書かれているFlashの座標空間についての解説と、kitaさんの書いてくださった考え方で、冷静に考えてみまして、理解できました。すべての原点ですもんね・・・_root._y。 引用: 地球(の中心)から見たyuki_usagiさんの位置、太陽系(の中心)から見た地球の位置、銀河系(の中心)から見た太陽系の位置、...をすべて足していくと(三次元ベクトル計算になりますが)、宇宙から見たyuki_usagiさんの位置が計算できます。 実は、これはよく分からないです(汗) 三次元ベクトル計算というのも分からない(><) この先も座標には苦しめられそうな気がします・・・。 引用: 何もしなければ、フレームラベルを書替えても、動作は変わらないはずです。また、キーを押したからと行って、フレームも移動しません。どこかに、何かのスクリプトが残っているように思われます。 フレームが勝手に第5フレームに移動してストップしていたこの問題も解決しました。原因も分かりました。 やっぱりスクリプトが残っていた、というか、そういう指定になっていたんです。 読み込み元にフレームアクションを書いて、読み込んだMCを操作しています。マウスをクリックしている間マウスを追う、十字キーで上下左右に移動する、というスクリプトです。 十字キー操作のスクリプトの中に、「何もしないときは第5フレームに移動してstop」というスクリプトが入っていまして、これが効いているんだと思います。原因が分かってスッキリしました。分かってしまうと「な?んだ?」という感じですね(笑) 原因が分かってこの件に関しては問題ないのですが、一応きちんとすべてのフレームの読み込みを待つ処理をしておこうと思います。 この処理は、MCアクションとして読み込み元のダミーMCに書くようにしないと効かないですか?読み込み元にフレームアクションとして書いたら効かないようなので・・・。 ひとつ疑問なのですが、ダミーMCを配置してswfファイルを読み込んだ場合、読み込み元のフレームでダミーMCのインスタンス名を指定してon(rollOver){ }やon(release){ }などでボタンとして機能させようとすると、どうも操作できないようなのですが、このようなことは不可能なのでしょうか? 読み込むswfのフレーム、もしくはダミーMCにスクリプトを書くとうまくいくので、ここに書くしかないのかな、と思っていますが・・・。 |
yuki_usagi | Åê¹ÆNo.1409 投稿日時: 2003-11-20 0:11 |
半人前 居住地: 三多摩 投稿: 31
使用環境:
windowsXP、または2000。 FlashMX |
Re: swfファイルの書き出しについて こんばんは、いつもお世話になっております。
なかなか時間がなくて、書き込みができません。 問題は解決しないまま、新たな問題も次々に発生して・・・ 近いうちにまた現状など書かせていただきます。 返事ができなくて、本当に失礼しております。 すいません!(><) |
ゲスト | Åê¹ÆNo.1221 投稿日時: 2003-11-13 20:59 |
Re: swfファイルの書き出しについて どうも、こんにちわ
>_root._yは?なぜ0になるのでしょうか? yuki_usagiさんの言い方を借りると、 「this._ymouseは、MCから見た_ymouseの値、this._yは_rootから見たMCのy座標、_root._ymouseは_rootから見た_ymouseの位置、で、_root._yは _rootから見た_rootのy座標」 となるでしょうか。(厳密にはアレですが...) trace(this._ymouse); trace(this._y); trace(_root._ymouse); trace(_root._y); のthisを書き換えて、 trace(_root.maru._ymouse); trace(_root.maru._y); trace(_root._ymouse); trace(_root._y); として考えれば、もう少しわかりやすいかも。 |
|
野中文雄 | Åê¹ÆNo.1207 投稿日時: 2003-11-13 14:24 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: swfファイルの書き出しについて gingaさんが、Flashの座標空間について、解説されています。
引用: yuki_usagiさんは書きました: 地球(の中心)から見たyuki_usagiさんの位置、太陽系(の中心)から見た地球の位置、銀河系(の中心)から見た太陽系の位置、...をすべて足していくと(三次元ベクトル計算になりますが)、宇宙から見たyuki_usagiさんの位置が計算できます。 そのとき宇宙の中心は、原点0とするしかありませんよね。その0というのは、yuki_usagiさんから見た位置...ではないでしょう。 引用: this._ymouseは、MCから見た_ymouseの値、this._yは_rootから見たMCのy座標、_root._ymouseは_rootから見た_ymouseの位置・・・。 確認は、どのようにされていますか? [ムービープレビュー]ですか、[パブリッシュ]ですか。あるいはサーバーにアップしましたか? 何もしなければ、フレームラベルを書替えても、動作は変わらないはずです。また、キーを押したからと行って、フレームも移動しません。どこかに、何かのスクリプトが残っているように思われます。 引用: 実は、何の処理もしてないんです。 |
yuki_usagi | Åê¹ÆNo.1201 投稿日時: 2003-11-13 12:29 |
半人前 居住地: 三多摩 投稿: 31
使用環境:
windowsXP、または2000。 FlashMX |
Re: swfファイルの書き出しについて こんにちは!
返信が遅くなってしまい、申し訳ありません。 引用: Condoさんは書きました: まさにこれでした! 読み込むムービーを置いていたcaractor.swfで参照していた_rootと、読み込んだ後にsample.swfで参照している_rootの位置は違うってことですよね。sample.swfの_rootを参照しているんでしょうね。 だから、スクリプトをターゲットMCのあるフレームに書いたらうまく行ったんだ・・・。理由が分かって頭がすっきりしました。 ありがとうございます。 引用: Fumioさんは書きました: 一生懸命読んでますが、これがよく分からなくて _root.xmouseと、this._xmouse・・・ これを理解しようと、次のようなものを作りました。 500×400のステージにMC「maru」を配置。 フレームに this.onEnterFrame = function() { maru._x += maru._xmouse; maru._y += maru._ymouse; } と記述して、マウスにぴったりついてくるようにしてあります。 そして、MCに次のように記述。 on (release) { trace(this._ymouse); trace(this._y); trace(_root._ymouse); trace(_root._y); trace(this._xmouse); trace(this._x); trace(_root._xmouse); trace(_root._x); } そして、各々の値を出します。 すると次のようになりました。 this._ymouse = 0 this._y =106.35 _root._ymouse =106.15 _root._y = 0 this._xmouse =0 this._x =186.95 _root._xmouse =187.05 _root._x = 0 this._ymouseは、MCから見た_ymouseの値、this._yは_rootから見たMCのy座標、_root._ymouseは_rootから見た_ymouseの位置・・・。 で、_root._yは?なぜ0になるのでしょうか?MCから見たMCのy座標ですか? なんだか、こんがらがってしまって。理解力が足りないですね(;;) ここが理解できないと、MCをマウスで操ることができないので、ちゃんとやっておかないと。 引用: Fumioさんは書きました: 実は、何の処理もしてないんです。 それなのに、第5フレームに移動してストップしているんです。 試しに、第5フレームに記述してあったフレームラベル「stop_walk」を「stand」に書き換えると第1フレームでストップするようになりました。何なんでしょう? ロード待ちの処理を設定してみたんですが、そうしてもやっぱり第1フレームがずっと表示され、十字キー等で操作すると他のフレームにジャンプする、という状況になってしまっています。 ロード待ちの処理は、もう少し勉強してやってみます。 |
野中文雄 | Åê¹ÆNo.1173 投稿日時: 2003-11-11 23:38 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: swfファイルの書き出しについて 心当たりがありましたら、[MovieClipのターゲットパスとプロパティ]ご参照ください。
引用: Condoさんは書きました: MovieClip.onEnterFrameメソッドは、onClipEvent (enterFrame)ハンドラと同じです。画面の描画が更新されるたびに(デフォルトの12fpsなら、1秒間に12回)、処理は実行され続けます。 フレームアクションには、とくに必要がないかぎり、イベントハンドラは記述しなくて構いません。 引用: yuki_usagiさんは書きました: 最初の問題は、第5フレームに移動しなかったことでしたね。再生されるようになったということは、ロード待ちの処理を加えられたのですよね? でしたら、第1フレームのstop()実行後にフレーム移動は行われているはずです。Stopの後にGoしたのなら、動いて当然でしょう。 引用: 釈然としないことその2 |
近藤泰一 | Åê¹ÆNo.1166 投稿日時: 2003-11-11 18:23 |
常連 居住地: 神奈川県 投稿: 112
使用環境:
Pro Pro |
Re: swfファイルの書き出しについて 引用:
読み込むMC(外部ファイル)の基準点もターゲットMCの基準点も左上に設定していたにも関わらず、読み込んだときに基準点が大きくずれてしまう、という問題ですが、原因は分からず・・・。 「基準点がずれてしまう」というのは、どういう状態ですか? 「読み込んだswfが期待していた位置に表示されない」のか、 「読み込んだswfで_x、_y、_xmouse、_ymouseなどを使おうと したときの基準点がずれている」のか、また別の状況なのかetc. 想像ですが、マウスについていくようなスクリプトを書いている ということなので、_root._xmouseなどと書いているため、 読み込みにより_rootが変わり、基準点がずれた、 ということは有りませんか? 引用: そんなわけないですよね(汗) そんなわけないと思います。 別のところに何かスクリプトが書いてあるとか、 そういうことは無いですか? 実験で書いてみたものを消し忘れているとか。 *自分でそういうミスをしたことがあるので。(滝汗) いろいろな要因で、おかしくなっているファイルそのものの公開が無理でも、 同じ現象が起こるスクリプトなどを簡単に作って見せるだけでも、 状況がだいぶ明確に伝わりますので、それも一つの方法かもしれませんね。
|
yuki_usagi | Åê¹ÆNo.1157 投稿日時: 2003-11-10 21:40 |
半人前 居住地: 三多摩 投稿: 31
使用環境:
windowsXP、または2000。 FlashMX |
Re: swfファイルの書き出しについて こんばんは、いつもお世話になってます。
MCの読み込み、なんとかできるようになりました。 今回は、「sample.swf」の_rootに配置してあるターゲットMC「chara.mc」に外部ファイル「charactor.swf」を読み込むのですが、ファイルを読み込んだ後も、なんとか動かすことができそうです。 読み込むときに、「sample.swf」のアクションレイヤーにフレームアクションを書いて読み込んでいるのですが、スクリプトを書くときは必ず、ムービーには「onClipEvent(load){ }」と書かなければならないので、フレームにアクションを書き込む場合にも必ず 「this.onEnterFrame = function(){ }」と書かなければいけないと思っていたんです。でも、違うんですね? 「sample.swf」のアクションフレームに、「this.onEnterFrame = function(){ }」とかを書かず、いきなり、 chara_mc.loadMovie("charactor.swf"); と書いたら、ちゃんと読み込んでくれて、十字キーでの操作メソッドも、マウスについてくる動きも、なんとか言うことをきいてくれるようになったんです。マウスイベントについては、まだ手を加えなければなりませんので、でき上がりにはまだ遠い道のりが(汗) ターゲットパスも難しいし、まだうまく行かない部分が多くあります・・・。 これが、まだよく分からず、これから勉強しなくてはならないです。 引用: 初心者には少しやっかいな処理ですが、[MovieClip.loadMovieで外部ファイルを読込む]に解説とサンプルを上げてありますので、ご参照く フレームアクション、MovieClipアクション、Buttonアクションのこと、よく分かりました(>_<) ありがとうございます。 あと、なんだか釈然としないことがあるんです。 釈然としないことその1 読み込むMC(外部ファイル)の基準点もターゲットMCの基準点も左上に設定していたにも関わらず、読み込んだときに基準点が大きくずれ てしまう、という問題ですが、原因は分からず・・・。 読み込むswfファイルにフレームアクションを設定していたのが一番の原因のような気がしますが、なぜそうなってしまうのでしょう?どな たか、同じようなご経験はありますか? 読み込む外部ファイルからアクションを消して、ターゲットMCに読み込むと、基準点がずれないのはなぜなんでしょう? 釈然としないことその2 「charactor.swf」は5フレームあって、最初の1フレーム目のキーフレームに「stop();」と記述しているにも関わらず、「sample.swf」 に読み込んで確認すると、今度はなぜか5フレーム目が再生されているんです。 私としては、5フレーム目が再生されていて欲しいので、好都合なのですが・・・理由が分からないと何かのときに対処もできないんじゃ ないかと思います。理由が何か、お分かりになりますか? 「stop();」と書いてあるアクションフレームを消去しても、読み込まれたときには5フレーム目を再生してるんです。変ですよね? 5フレーム目のフレームラベルは"stop_walk"ですが、このネーミングに何か関係があったりしますか?stopという言葉が入っているからとか?(そんなわけないですよね(汗)) ちなみに、「charactor.swf」は5KBです。 それと、今は、flaファイルをアップできないんです(>_<) なので、見ていただくことができず・・・分かりづらい説明で申し訳ありません。 |
(1) 2 3 » |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |