actionscript1.0でJPGを読み込んでるところをSWFに、、、

初心者のため良く分からないため質問いたします。

FLAを開くと設定はFlashのactionscript1.0 パブリッシュ設定がFlash Player8.0でした。
現在上記設定で下記scriptが書かれているものをFlashCS4で開いています。
そして現在3つのJPGを読み込んでいるのですが、そこをSWFに変更したいと考えています。
現在はAS1.0ですが、これを機会にAS3.0に変えたいとも考えています。
どう調べていいか分からないので質問させていただきました。
質問自体よく分からないかもしれませんが、非常に困っています。
よろしくお願いいたします。


onClipEvent (load) {
Pass = "img_top_flash/";
Timer = _root.Sec*30;
cnt = 0;
this._y = 300; //元はthis._y = -20;
this.loadVariables( Pass + "top_flash_url.txt");
function loadJPG() {
_root.Loaded = false;
cnt = 0;
if (num == Max) {
num = 0;
} else if (num<0) {
num = Max-1;
}
depth++;
if (depth>1) {
_root.mc["m"+(depth-2)].removeMovieClip();
}
navi.slider._alpha = 100;
mcName = "m"+depth;
_root.mc.attachMovie("pic",mcName,depth);
_root.mc[mcName].fileName = Pass+picArray[num]+".jpg";
for (i = 0; i < Max; i++) {
if (i == num) {
navi.mc["b"+i].gotoAndStop(2);
} else {
navi.mc["b"+i].gotoAndStop(1);
}
}
}
}
onClipEvent (data) {
picArray = files.split(",");
Max = picArray.length;
for (i = 0; i < Max; i++) {
mcName = "b"+i;
navi.mc.attachMovie("navi_btn",mcName,i);
navi.mc[mcName].num = i;
navi.mc[mcName]._x = i*20;
}
navi.mc.attachMovie("sankaku","sankaku",Max);
navi.mc.sankaku._x = Max*20;
num = depth = 0;
loadJPG();
}
onClipEvent (enterFrame) {
if (Max>1 && _root.Loaded) {
//this._y -= this._y/4;
this._y -= this._y/100;
if ( this._y <= 280 ) {
this._y = 280;
}
navi.slider._x += (num*20-navi.slider._x)/_root.spd;
navi.slider._alpha += (50-navi.slider._alpha)/_root.spd;
cnt++;
if (cnt>Timer) {
num++;
loadJPG();
}
}
}

このQ&Aに関連する最新のQ&A

A 回答 (3件)

> これを機会にAS3.0に変えたいとも考えています。


> どう調べていいか分からないので質問させていただきました。

ムービーの構造などからして全面作り替えなので,
ActionScript のみの変更で ActionScript 3.0 に変更することはそもそも不可能ですから,
書き替える(作り直す)のはあくまでも質問者さんで,
回答者ではないということでよろしいですよね?


onClipEvent (load) {} や onClipEvent (data) {} や onClipEvent (enterFrame) {} などは
主に ActionScript 1.0 でも最も古い Flash 5 で使われていた
ムービークリップ 自体に書く onClipEventイベントハンドラ と呼ばれるもので,
ActionScript 1.0 でも Flash MX 以降は普通使われなくなりました。

Flash MX 以降では
フレーム に書く イベントハンドラメソッド に移行され
とうとう ActionScript 3.0 においてはムービークリップ自体には何も書くことはできなくなりました。

onClipEvent (data) {}
これは ムービークリップ が登場(表示)されたときに1回だけ実行される onClipEventイベントハンドラ です。

ActionScript 3.0 の場合,
フレーム や クラスファイル に書く必要があります。


onClipEvent (data) {}
これは 外部テキストデータ を Flash 内(ムービークリップ内) にロードし,
そのデータが「ロード完了!」したときに実行される onClipEventイベントハンドラ です。

ActionScript 3.0 の場合,
URLLoader クラスのインスタンスを準備して,
そのインスタンスに外部テキストをロードし
Eventクラスの COMPLETE 発生時に何かをすることになると思います。
「ActionScript 3.0で外部テキストファイルを読込む」
http://f-site.org/articles/2007/02/08061116.html


onClipEvent (enterFrame) {}
これは 1フレーム進む時間毎に毎回実行されるonClipEventイベントハンドラ です。

ActionScript 3.0 の場合,
Eventクラスの ENTER_FRAME 発生時に何かの関数を実行することになると思います。
「繰り返し発生するイベント Event.ENTER_FRAME」
http://oshige.com/flash/as3note_cs4/2009/09/-eve …



次に各onClipEventイベントハンドラ の内部に入ります。

attachMovie
ActionScript 3.0 の場合
これはライブラリにあるムービークリップを「ActionScriptで書き出す」設定にし,
ムービークリップ にクラス名を付け
new でそのクラスを呼び出し,ステージ上に addChild します。
「ActionScript3 初心者講座まとめ ムービークリップを張ってみる 」
http://www22.atwiki.jp/flashcs3/pages/13.html

removeMovieClip
ActionScript 3.0 の場合
その消したいインスタンスが存在する階層
つまりそのインスタンスの親階層に,
「子を削除せよ」=removeChild という命令をします。
「BONKURA BLOG - [AS3.0]ライブラリからムービークリップを追加」
http://blog.bonkura.jp/2008/08/as30-1.html

とにかくドキュメントの全面作り替えです。
#1の方のおしゃるように考え方も全面改定した方が良いかもしれません。
だいたいそんなところです。

これでほぼ回答字数制限いっぱいです。
    • good
    • 0

今現在(2010年5月16日 12時02分 現在),


なぜか非表示になっている #2 です。

#1 の方への補足(お礼)を拝見しました。

> このスクリプトをどうすれば、
> swfを読み込めるのかという事を知りたいので、
>   ~略~
> AS1.0のままでもかまいませんので、、。

と書かれていらっしゃいますが,
ご質問で書かれていらっしゃるスクリプトの中に
JPEG をロードする部分などありませんよ。


this.loadVariables( Pass + "top_flash_url.txt");

これで,
Pass = "img_top_flash/";

top_flash_url.txt
を連結したファイル
つまり「img_top_flash/top_flash_url.txt」
つまり「img_top_flash フォルダ内の top_flash_url.txt」
を,そのムービークリップ内にロードして,
その 「top_flash_url.txt」 に書いてあるもの(JPEGファイル名)をロードするんじゃないでしょうか?

それで,外部テキストで 「ファイル名(拡張子抜き)」 まで指定しておいて,

_root.mc[mcName].fileName = Pass+picArray[num]+".jpg";

の部分で拡張子「.jpg」を付け加えていると思います

したがって上の +".jpg"; の部分を +".swf"; にすれば良いと思います。



ムービー全体が見えないので何とも言えません。
とにかく書かれていらっしゃるスクリプトには
JPEG をロードするスクリプトはありません。
推測することだけしかできません。

多分,
JPEGをロードするスクリプトの本体は
ライブラリにあるムービークリップシンボルの中に書き込まれてあるような気がします。
    • good
    • 0
この回答へのお礼

非常に丁寧な回答をしていただきましてありがとうございます。
BlurFiltanさんの回答を参考に頑張ってみたいと思います。
ほとんど知識が無い状態でしたので非常に勉強になりました。
ありがとうございました。

お礼日時:2010/05/16 16:14

as1.0からas3.0に書き換えたいと言う事ですね?



根本的に書き方、考え方がかわりました。

・イベントは「addeventlistener」を使用します
・プロパティの頭に「_」は付きません。
・rootはメインのタイムラインとは限らない
・attachMovieはなくなりました。

詳しくは見ていませんが、この辺りが関係ある大きな変更かな?
その他、変更点は大量にありますので、
as3.0の事を普通に勉強しながら、書き換える方が良いと思います。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
急いでいますので、今回のこの質問では
このスクリプトをどうすれば、
swfを読み込めるのかという事を知りたいので、
今回は「勉強しながら」というのはひとまず置いといて
ご回答の方をよろしくお願いいたします。
AS1.0のままでもかまいませんので、、。

お礼日時:2010/05/16 10:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング