トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   とにかくFLASH【FLASHに関して全般】
     swfファイルの書き出しについて
投稿するにはまず登録を

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
A.e.Suck
Åê¹ÆNo.1134
投稿日時: 2003-11-9 19:40
パダワン
居住地: 東京都
投稿: 170
使用環境:
10.14 / / :Animate CC 2018: / :Animate 2020:
intuos 4 / 6.1.2-5
オンライン
Re: swfファイルの書き出しについて
引用:
詳しい状況を説明したいのですが、頭の中がなかなか整理できなくて・・・。

差し支えなければ、そのFLAを見られるように、どこかのサーバにアップしていただければ、問題の解決は早いかと思いますよ。


----------------
A.e.Suck LASH Animator dynamictoon

野中文雄
Åê¹ÆNo.1132
投稿日時: 2003-11-9 18:36
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: swfファイルの書き出しについて
では、問題は基準点の位置合わせが、意図したとおりの結果にならないということですね。

読込み元ターゲットMovieClipの基準点が、左上に設定してありますか? でしたら、その基準点が読込んだSWFのステージ左上に一致するはずです。もしそうならないということでしたら、そのファイル(外部SWFを含む)の.fla(ソース)ファイルをアップしていただくのが早いと思います。
引用:
yuki_usagiさんは書きました:
MCの大きさは変わっていません(汗)
外部swfを22×45で書き出し、読み込み元のターゲットMCも同じ大きさにし、基準点は左上にしてあっのですが、読み込んだときswfファイルの基準点が大きく左側にずれていたので、大きさが変わってしまったかと思ったんです。


アクションは、(1)キーフレームと(2)シンボルのインスタンスの2種類の場所に記述することができます。前者をフレームアクション、後者は設定するインスタンスの種類によって(a)MovieClipアクション(あるいはクリップアクションという人もいます)、(b)Buttonアクションと呼ばれます(グラフィックインスタンスには、スクリプトが設定できません)。インスタンスに設定するアクションには、必ず(ononClipEventといった)イベントハンドラアクションを記述しなければなりません。
引用:
フレームに書くアクションがフレームアクションで(this.onLoad = function(){ } のようなもの)、MCに書くアクション(onClipEvent(load){ } のようなもの)ですか?

「読込み元」ですね。

サーバーに上げた場合には、MovieClip.loadMovieメソッドを実行した直後では、すべてのフレームが読込まれているとはかぎりません。MovieClip.gotoAndStopメソッドに存在しない(読込まれていない)フレームを指定すると、ActionScriptは黙殺します

これを避けるためには、ムービーの読込み待ちの処理を加える必要があります。しかし、読込みを待っている間に、取りあえず第1フレームは表示されてしまうことになります。第1フレームを出さずにいきなり指定フレームを表示したいという場合には、ターゲットMovieClipを一旦ステージ外に避けておき、読込みが済んでから戻すという処理が必要になります。

初心者には少しやっかいな処理ですが、[MovieClip.loadMovieで外部ファイルを読込む]に解説とサンプルを上げてありますので、ご参照ください。
引用:
読込先のアクションレイヤーには、次のようなスクリプトが書いてあります。
// 外部swfファイル読み込み
this.onLoad = function() {
peoples_mc.loadMovie("people.swf");
peoples_mc.gotoAndStop("stop");
}

"stop"ラベルは5フレーム目に書いてあるんですが、読み込んだときに1フレーム目を再生してしまうんです。


----------------
 

ゲスト
Åê¹ÆNo.1108
投稿日時: 2003-11-8 20:43
Re: swfファイルの書き出しについて
引用:
外部swfを22×45で書き出し、読み込み元のターゲットMCも同じ大きさにし、


読み込み元のステージサイズはいくつですか?
yuki_usagi
Åê¹ÆNo.1106
投稿日時: 2003-11-8 20:25
半人前
居住地: 三多摩
投稿: 31
使用環境:
windowsXP、または2000。
FlashMX
Re: swfファイルの書き出しについて
こんばんは、返信ありがとうございます。

詳しい状況を説明したいのですが、頭の中がなかなか整理できなくて・・・。

MCの大きさは変わっていません(汗)
外部swfを22×45で書き出し、読み込み元のターゲットMCも同じ大きさにし、基準点は左上にしてあっのですが、読み込んだときswfファイルの基準点が大きく左側にずれていたので、大きさが変わってしまったかと思ったんです。
引用:
「基準点」と「サイズ」は、別物です。「サイズ」つまり大きさが変わっているのですか? 175pxという大きさは、どのようにして調べてい


私は、フレームアクションとMCアクションの違いもよく分かっていないようです(汗)
フレームに書くアクションがフレームアクションで(this.onLoad = function(){ } のようなもの)、MCに書くアクション(onClipEvent(load){ } のようなもの)ですか?
読み込まれるswfには、フレームにアクションを書いていました。
引用:
読込まれるSWFには、フレームアクションが設定されていたのですね?


はい。読み込まれるswfに書いていたアクションを消して、ターゲットのMCにアクションを書きました。
引用:
「読込先のダミーMCにスクリプトを書い」たというのは、ターゲットのMovieClipアクションに記述したということでしょうか?


多分、MCの大きさは変化してないと思います。
スクリプトでスケールやサイズを設定しているということもありません。
引用:
「サイズはぴったりにな」ったというのは、大きさが変化したということなのですか? その場合、スクリプトでスケール(_xscale/_yscale)


今回は、読み込み元のフレームにスクリプトを書き込み、読み込んだswfファイルを制御したいと思っています。
読み込む外部ファイルの構造は以下のとおりです。

・5つのフレームに別々のMCシンボルのインスタンスをひとつづつ配置。インスタンス名はつけていません(5つのインスタンスのシンボル

は、フレームアニメーションになっています)。
・ラベルレイヤーの各フレームには、「flont_walk」「right_walk」「left_walk」「back_walk」「stop」というラベルをはってあります


・読み込んだ時に再生されないように、アクションレイヤーの1フレーム目にstop();アクションが書いてあります。

これを、ターゲットMCを指定して読み込みます。

読込先のアクションレイヤーには、次のようなスクリプトが書いてあります。

// 外部swfファイル読み込み
this.onLoad = function() {
peoples_mc.loadMovie("people.swf");
peoples_mc.gotoAndStop("stop");
}

"stop"ラベルは5フレーム目に書いてあるんですが、読み込んだときに1フレーム目を再生してしまうんです。

前に書き込みをした時は、読み込むswfにフレームにアクションを書いてうまく制御できず、MCにアクションを書こうと思って、上記のもの

をひとつのシンボルの中に入れ込んでいたのです(「キャラクター」というシンボルの中に、上記の設定がしてあったということです)。
フレームに書いて動きを制御できなかったのは、ターゲットパスのことがよく分かっていなかったためです。
しかし、読み込む外部swfに多くのアクションを書き込むことをやめ、読み込み元のファイルのアクションレイヤーに書いて読み込んだMCを

制御することになりました。
そこで、階層構造をシンプルにするため、上記のような構造にしました。


恥ずかしながら、Flashのことはまだ初心者の域を出ていなくて本当に勉強不足、知識不足です。
とにかく、階層構造やターゲットパスのことをもっと勉強し、自分でもいろいろ試してみようと思います。

お手数をかけてしまいますが、よろしくお願いします。
野中文雄
Åê¹ÆNo.1015
投稿日時: 2003-11-7 11:51
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: swfファイルの書き出しについて
「基準点」と「サイズ」は、別物です。「サイズ」つまり大きさが変わっているのですか? 175pxという大きさは、どのようにして調べていますか?

なお、外部SWFをロードした場合、「基準点」はターゲットの左上隅に設定されます([MovieClip.loadMovieで外部ファイルを読込む]参照)。
引用:
yuki_usagiさんは書きました:
そこで考えたんですが、どうやら基準点が大きくずれているようなので、読み込んだときにサイズがおかしくなってるんだと思ったんです。

読込まれるSWFには、フレームアクションが設定されていたのですね?「読込先のダミーMCにスクリプトを書い」たというのは、ターゲットのMovieClipアクションに記述したということでしょうか?「サイズはぴったりにな」ったというのは、大きさが変化したということなのですか? その場合、スクリプトでスケール(_xscale/_yscale)かサイズ(_width/_height)を制御しているのでしょうか?
引用:
そこで、試しに一度読み込まれるムービーに書いたスクリプトを全部消して、読込先のダミーMCにスクリプトを書いて読み込んだところ、サイズはぴったりになり、ちゃんとマウスについてくるようになりました。

スクリプトをどこに記述して、ターゲットパスをどのように指定されていますか?
引用:
でも、そうすると今度は読み込んだMCに振ってあるフレームラベルに飛んでくれなくなってしまったんです。

読込まれる外部SWF内に記述した、フレームアクションは使用可能です。ロードするターゲットのMovieClipアクションは存続し、フレームアクションはコンテンツ(SWF)とともに差替わります(つまり、ターゲットの元のフレームアクションはクリアされます)。

loadMovie使用時のパス指定さえ正しければ、ロードしたSWFも通常のMovieClipと同じスクリプト制御が可能です。
引用:
読み込み元のファイルのフレームにアクションを書いて、読み込んだMCに仕込んだムービーを制御することはできますか?任意のラベルに飛ばすことができるのでしょうか?読み込むのは読み込んでくれるのですが、全く言うことをきいてくれないのです。
...
あと、読み込んだMCをボタンに見立てて、読込先のMCを操作したりということは可能ですか?


----------------
 

yuki_usagi
Åê¹ÆNo.1012
投稿日時: 2003-11-7 11:02
半人前
居住地: 三多摩
投稿: 31
使用環境:
windowsXP、または2000。
FlashMX
Re: swfファイルの書き出しについて
おはようございます、返信ありがとうございます。

引用:
横22ピクセル×縦45ピクセルに書き出せてても、読み込むとステージ外のものも表示されちゃうから横幅が変わった感じになるのとは違うかな?

ステージの外に余計なものがついていないか調べたりもしたんですが、何もなかったんです。
どうやら、MCにスクリプトを書いたのが原因だったようで・・・。

引用:
ステージサイズと同じ22x45のマスクですべてをくくってからムービーを書き出してみてはどうでしょ。

実は私、まだFlash初心者の域を出ていなくて、「マスク」の使い方が全く分からないんです(>_<)
その辺も勉強したいと思ってます(^-^)
yuki_usagi
Åê¹ÆNo.1011
投稿日時: 2003-11-7 10:59
半人前
居住地: 三多摩
投稿: 31
使用環境:
windowsXP、または2000。
FlashMX
Re: Re2: swfファイルの書き出しについて
おはようございます。返信ありがとうございます。
なかなか返信できなくて申し訳ありません。

引用:
SWFは表示サイズが自由に変えられますから、ダブルクリック(SAFlashPlayer)では確認にならないと思います。

そうですよね、そのはずなんですが・・。

引用:
loadMovieアクションまたはMovieClip.loadMovieメソッドを使われている訳ですね。この場合に、読込んだSWFのサイズが、175pxになりますか?

そうです。
マウスを追うようにスクリプトを書いて、テストをしたときはちゃんとマウスについてきました。
他のファイルに読み込ませたら、マウスから離れて止まるのでおかしいな、と思いました。
そこで考えたんですが、どうやら基準点が大きくずれているようなので、読み込んだときにサイズがおかしくなってるんだと思ったんです。

そこで、試しに一度読み込まれるムービーに書いたスクリプトを全部消して、読込先のダミーMCにスクリプトを書いて読み込んだところ、サイズはぴったりになり、ちゃんとマウスについてくるようになりました。
でも、そうすると今度は読み込んだMCに振ってあるフレームラベルに飛んでくれなくなってしまったんです。

引用:
イベントハンドラメソッドを使われたのでしょうか? MovieClipアクションは、基本的にすべてフレームアクションに移行可能です。

読み込まれるファイルのフレームにスクリプトを書いてみたら、ちゃんと動きました。スクリプトを書き間違えてました。

引用:
MovieClip内に記述したフレームアクションは、外部SWFをロードした時点でクリアされます。しかし、MovieClipアクションは、存続するはずです。

読み込まれるファイルのフレームに書いても意味がないのですね(汗)
読み込み元のファイルのフレームにアクションを書いて、読み込んだMCに仕込んだムービーを制御することはできますか?任意のラベルに飛ばすことができるのでしょうか?読み込むのは読み込んでくれるのですが、全く言うことをきいてくれないのです。
読み込まれるファイルの構造に何か問題があるとか・・・?

あと、読み込んだMCをボタンに見立てて、読込先のMCを操作したりということは可能ですか?

よろしくお願いします。
Meet Motegi
Åê¹ÆNo.898
投稿日時: 2003-11-6 6:35
新米
居住地: 神奈川
投稿: 1
使用環境:
pro +
Re: swfファイルの書き出しについて
横22ピクセル×縦45ピクセルに書き出せてても、読み込むとステージ外のものも表示されちゃうから横幅が変わった感じになるのとは違うかな?
ステージサイズと同じ22x45のマスクですべてをくくってからムービーを書き出してみてはどうでしょ。


----------------
meet motegi

野中文雄
Åê¹ÆNo.896
投稿日時: 2003-11-6 4:33
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: Re2: swfファイルの書き出しについて
[ムービーの書き出し]は、GIFやJPEGなどSWF以外の出力にしか使ったことがありません。[パブリッシュ]では、いかがでしょうか?
引用:
yuki_usagiさんは書きました:
ステージサイズは「22×45」です。
書き出しは、「ファイル→ムービーの書き出し」です。
バージョンは6で書き出しています。

SWFは表示サイズが自由に変えられますから、ダブルクリック(SAFlashPlayer)では確認にならないと思います。
引用:
書き出されたswfファイルのサイズ確認についてですが、
書き出したファイルをダブルクリックで開いて見てみたら、だいたい175pxくらいだったんです。

イベントハンドラメソッドを使われたのでしょうか? MovieClipアクションは、基本的にすべてフレームアクションに移行可能です。
引用:
本当はフレームに書きたかったのですが、フレームに書いたらMCが動いてくれなくて・・・。

loadMovieアクションまたはMovieClip.loadMovieメソッドを使われている訳ですね。この場合に、読込んだSWFのサイズが、175pxになりますか?
引用:
読み込み先のファイルにはダミーMCが置いてあって、それと入れ替える形で読み込んでいます。

MovieClip内に記述したフレームアクションは、外部SWFをロードした時点でクリアされます。しかし、MovieClipアクションは、存続するはずです。
引用:
このダミーMCにスクリプトを書いて読み込み、動かしてみたんですが、フレームに全くジャンプしてくれないので、ダミーMCではなく、読み込まれるMCにスクリプトを書きました。


----------------
 

yuki_usagi
Åê¹ÆNo.831
投稿日時: 2003-11-5 11:34
半人前
居住地: 三多摩
投稿: 31
使用環境:
windowsXP、または2000。
FlashMX
Re2: swfファイルの書き出しについて
おはようございます。
返信ありがとうございます。

ステージサイズは「22×45」です。
書き出しは、「ファイル→ムービーの書き出し」です。
バージョンは6で書き出しています。
書き出されたswfファイルのサイズ確認についてですが、
書き出したファイルをダブルクリックで開いて見てみたら、だいたい175pxくらいだったんです。
読み込まれた先でキー操作ができるようにアクションスクリプトを書き込んであるのですが、読み込まれた先でキー操作しようとしたらおかしな動きをしたので、ファイルの幅がおかしい、ということに気がついたんです。

このファイルは、読み込まれた先で、

・十字キーで上下左右に動かせる
・マウスが押されている間、マウスをを追う
・十字キー操作によって動いている間とマウスを追って動いている間は、歩いている動作をするようにフレームに飛んでアニメーションを再生する
・移動していない間は、止まっているとき用のアニメーションを再生するために別のフレームに飛ぶ

という動きをするようにスクリプトを書き込んであります。
スクリプトはフレームにではなく、MCに書き込んであります。
本当はフレームに書きたかったのですが、フレームに書いたらMCが動いてくれなくて・・・。

読み込み先のファイルにはダミーMCが置いてあって、それと入れ替える形で読み込んでいます。
このダミーMCにスクリプトを書いて読み込み、動かしてみたんですが、フレームに全くジャンプしてくれないので、ダミーMCではなく、読み込まれるMCにスクリプトを書きました。
本当は、読込先のフレームにスクリプトを書いて、読み込まれたファイルを操作できればいいんですが・・・

こんな感じなのですが、どうでしょうか?

よろしくお願いします。
« 1 (2) 3 »
スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops