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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   迷える子羊の部屋【初心者専用】
     複数の外部ファイル(jpg数枚とmp3数曲)の読み込みローディンングアクション
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
mushman
Åê¹ÆNo.3040
投稿日時: 2004-1-21 3:43
新米
居住地:
投稿: 7
使用環境:
macbookpro ,Flash cs3
複数の外部ファイル(jpg数枚とmp3数曲)の読み込みローディンングアクション
ローディングアクションについてですが、複数の外部ファイル(jpg数枚とmp3数曲)をメインのswfの1フレーム目で読みこんで、そこにローディングアクション(メーターがのびるもの)をつけたいのですが可能でしょうか?

いろいろ試してみたのですが、どうも上手くいかないのです。よろしくお願いします。
笠居トシヒロ
Åê¹ÆNo.3042
投稿日時: 2004-1-21 10:50
マスター
居住地: 兵庫
投稿: 870
使用環境:
SnowLeopard, Safari4, CS4
Windows7, IE8, CS4
Re: 複数の外部ファイル(jpg数枚とmp3数曲)の読み込みローディンングアクション
こんにちわ
ちょっと情報不足ですね。まずはご自身の制作環境を教えてください。
アカウントに登録しておくと便利ですよ。

で、現状どのように作成しようとしているのか、「いろいろ」というのは何をどのように試したのか、
具体的なことを説明頂かないと、答えるほうにも手がかりが必要ですから。

で、推測になりますが、おそらく 「おしえて!! FLASHMX ActionScript」 の、
11-4、14-4、14-5で紹介されている「何でもローディングバー」を使えば、お望みのことが実現すると思います。
一度、書店で立ち読みでもされてみてはいかがでしょう。

ただし、この作例を理解するには、それなりにスクリプトのことを理解できる必要があります。
あなたが初心者であれば、この本の最初から、きちんと読み通したほうがいいと思いますよ。


----------------
笠居 マッドシー
http://www.mad-c.com/

mushman
Åê¹ÆNo.3052
投稿日時: 2004-1-21 19:35
新米
居住地:
投稿: 7
使用環境:
macbookpro ,Flash cs3
Re: 複数の外部ファイル(jpg数枚とmp3数曲)の読み込みローディンングアクション
ご返信ありがとうございます。で、さっそく本屋に行ってみたのですが、私の住んでいる町の本屋には「おしえて」シリーズが1冊もおいていませんでした。ネットで買おうかとも思いますが・・・。

◇ムービーの詳細
メインのswfファイル//main.swf
jpgファイル数個(メインswf上の同一のmc//_root.back//に、いろいろなイベントで読み込まれる)
mp3ファイル数個(メインswf上のボタンで選曲できる)

◇やりたいこと
メインのswfの第一フレームでjpgとmp3ファイルをそれぞれ数個キャッシュに読み込みたい。また、読み込み中はローディングバーで読み込み状況を表示したい。(ローディング以外は完成しています。)

◇試したこと
◆その1
『おしえて!FLASHMX』についていたコンポーネントの先読み君をつかってみた。>>>>一つのファイルしかキャッシュできなかったし、読み込み状況を表示できなかった。

◆その2
//メインswfの第一フレームに
stop();
_root.loading.loadMovie("img/001.jpg");
_root.loading.loadMovie("img/002.jpg");

//_root上のloadingというアルファ0%のmcに(load2はバーのムービー)
onClipEvent (data) {
nParcentage = 0;
nTotal = this.getBytesTotal();
function xPreload() {
nLoaded = this.getBytesLoaded();
if (nTotal<=nLoaded) {
_root.gotoAndPlay(2);
delete this.onEnterFrame;
} else {
nParcentage = Math.round(100*nLoaded/nTotal);
_root.load2._xscale = nParcentage;
}
}
this.onEnterFrame = xPreload;
}

というスクリプトをつけたら、バーは機能せずに、001.jpgのみ読み込まれた後にメインswfの第2フレームへ移動した。

--------------------
と、今までの経過はこんな具合です。FLASHを本格的に始めたばかりなので、検討違いなことをしているとは思いますが、よろしくおねがいします。
笠居トシヒロ
Åê¹ÆNo.3053
投稿日時: 2004-1-21 23:49
マスター
居住地: 兵庫
投稿: 870
使用環境:
SnowLeopard, Safari4, CS4
Windows7, IE8, CS4
Re: 複数の外部ファイル(jpg数枚とmp3数曲)の読み込みローディンングアクション
こんにちは。
たしかに見当違いがあるようですね。
引用:
//メインswfの第一フレームに
stop();
_root.loading.loadMovie("img/001.jpg");
_root.loading.loadMovie("img/002.jpg");

ひとつのムービークリップに、同時に2つの外部ファイルを読み込むことはできません。
ひとつずつ読み込みを待ってから、次のファイルを読み込むようにするべきだと思います。

引用:
//_root上のloadingというアルファ0%のmcに(load2はバーのムービー)
onClipEvent (data) {
(中略)
というスクリプトをつけたら、バーは機能せずに、001.jpgのみ読み込まれた後にメインswfの第2フレームへ移動した。

onClipEvent (data) というのは、「そのムービークリップに何らかのデータを読み込み完了したとき」
はじめて動作するイベントですので、ここに読み込み途中のデータ量を判別するような
スクリプトを書いても 「手遅れ」 状態です。

やはり、若干ActionScriptに関する基礎的な知識が不足しているように見受けられますので、
初級向けの解説書などで基礎を固めてからチャレンジしてみてはどうでしょうか。


----------------
笠居 マッドシー
http://www.mad-c.com/

野中文雄
Åê¹ÆNo.3054
投稿日時: 2004-1-22 1:25
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: 複数の外部ファイル(jpg数枚とmp3数曲)の読み込みローディンングアクション
外部ファイルのロードというのは、通常素材の読込み負荷を分散するために行います。まとめて読込みたいなら、初めから素材をすべてムービーに入れておけばよいのではないでしょうか? そうすれば、普通のNow Loadingを、ムービーに設定するだけで済みます。

外部ファイルのロードを複数まとめて行うと、失敗する可能性が増えるだけです。複数ファイルは、ひとつずつ読込むのが基本です。
引用:
mushmanさんは書きました:
メインのswfの第一フレームでjpgとmp3ファイルをそれぞれ数個キャッシュに読み込みたい。また、読み込み中はローディングバーで読み込み状況を表示したい。(ローディング以外は完成しています。)

ひとつずつロードするという場合には、以下のスクリプトは修正が必要です。とくにJPEGファイルの読み込みでは、dataloadイベントもロード完了後に発生します。

また、MovieClip.loadMovie()メソッド実行直後は、ロード前のMovieClipインスタンスのバイト数が返りますので、このままではその瞬間に読込み完了と判定されてしまいます。
//メインswfの第一フレームに
stop();
nStart = _root.loading.getBytesTotal();  // 追加
_root.loading.loadMovie("img/001.jpg");
// _root.loading.loadMovie("img/002.jpg");
// 以下のスクリプトを追加
function xPreload() {
	var nLoaded = loading.getBytesLoaded();
	if (nTotal<=nLoaded) {
		_root.load2._xscale = 100;
		delete this.onEnterFrame;
		_root.gotoAndPlay(2);
	} else {
		nParcentage = Math.round(100*nLoaded/nTotal);
		_root.load2._xscale = nParcentage;
	}
}
this.onEnterFrame = function() {
	nTotal = loading.getBytesTotal();
	if (nTotal != nStart) {
		this.onEnterFrame = xPreload;
	}
};

//_root上のloadingというアルファ0%のmcに(load2はバーのムービー)
/* 以下のMovieClipアクションは、削除
onClipEvent (data) {
	nParcentage = 0;
	nTotal = this.getBytesTotal();
	function xPreload() {
		nLoaded = this.getBytesLoaded();
		if (nTotal<=nLoaded) {
			_root.gotoAndPlay(2);
			delete this.onEnterFrame;
		} else {
			nParcentage = Math.round(100*nLoaded/nTotal);
			_root.load2._xscale = nParcentage;
		}
	}
	this.onEnterFrame = xPreload;
}
*/

引用:
というスクリプトをつけたら、バーは機能せずに、001.jpgのみ読み込まれた後にメインswfの第2フレームへ移動した。

ところで、ご使用環境の「MX Pro」というのは、MX Professional 2004のことですか?


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

笠居トシヒロ
Åê¹ÆNo.3055
投稿日時: 2004-1-22 2:47
マスター
居住地: 兵庫
投稿: 870
使用環境:
SnowLeopard, Safari4, CS4
Windows7, IE8, CS4
Re: 複数の外部ファイル(jpg数枚とmp3数曲)の読み込みローディンングアクション
引用:
外部ファイルのロードというのは、通常素材の読込み負荷を分散するために行います。まとめて読込みたいなら、初めから素材をすべてムービーに入れておけばよいのではないでしょうか? そうすれば、普通のNow Loadingを、ムービーに設定するだけで済みます。

そうですね。
同一のMCに読み込みをしようとしているところを見ると、mushmanさんは、JPEGファイルを
ブラウザのキャッシュに入れるのが目的のようですが、おそらく後でまた loadMovie して、
キャッシュに入れたJPEGを表示させるようなことを考えているんじゃないでしょうか。
オーサリング時に、まとめてムービー内に入れてしまわないのは、JPEGファイルを
順次増やしていこうと思っていると推測します。

しかし、だとすれば設計が間違っているようですね。
私なら、別々のMCにひとつずつJPEGを読み込んで、非表示にしたままムービー内に保持します。
後で表示したいときには、そのJPEGを読み込んだMCの _visible を true にすればいいだけですから。


----------------
笠居 マッドシー
http://www.mad-c.com/

mushman
Åê¹ÆNo.3060
投稿日時: 2004-1-22 18:37
新米
居住地:
投稿: 7
使用環境:
macbookpro ,Flash cs3
Re: 複数の外部ファイル(jpg数枚とmp3数曲)の読み込みローディンングアクション
いろいろありがとうございます。

ひとつのムービークリップに、同時に2つの外部ファイルを読み込むことはできないということが分かり、一つずつ読み込むようにつくりなおしたら、なんとかそれらしきものができました。

メインのswfに読み込むファイルの数だけフレームを追加して、各フレームに「先読み君」を設置、バーの長さを代入して、フレームが進むごとにバーがのびるという、仮想的なものですが。

jpegをすべて外部ファイルにしたのは、写真の更新が頻繁にあるので、Flashを修正せずに写真だけ入れ替えたいという事情からです。

とりあえず、希望に近いものはできたのですが、精密なものにするにはどういったスクリプトを書くとよいのでしょうか?
また、「先読み君」の中身はどんなつくりになっているのでしょうか?
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

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