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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   迷える子羊の部屋【初心者専用】
     MCを順々にロードすることができません
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
koko2
Åê¹ÆNo.36172
投稿日時: 2007-11-14 6:03
新米
居住地:
投稿: 6
使用環境:
windowsxp flash mx 2004
MCを順々にロードすることができません
はじめまして、初めて投稿させていただきます。

製作環境  windows xp flashMX 2004

空のMCに10個の写真を読み込むところまでは、できたのですが、MCを順々にロードすることができません。

もしよろしければどなたか教えていただけますでしょうか?
よろしくお願いいたします。


申し訳ございません、ソースはコピー&ペースとした箇所も
ありましたので、削除させていただきました。


TJFORD
Åê¹ÆNo.36173
投稿日時: 2007-11-14 7:48
半人前
居住地: Tokyo
投稿: 42
使用環境:
:Flash CS3
Re: MCを順々にロードすることができません
こんにちは。
素人で恐縮ですが、

obj.onLoadInit = function () {

}
の中に、

i++;
mcl.loadClip("image_t/" + i + ".jpg", _root["thumb" + i]);

を記述では駄目でしょうか?ひとつ読み込みが完了したら次のモノを読み込むのような。変数iはタイムライン変数でカウントすればできるのではないかなと思いました。

間違っていたらすいません。
ひろゆき
Åê¹ÆNo.36178
投稿日時: 2007-11-14 11:54
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: MCを順々にロードすることができません
投稿に関して
引用:
1. 複数の会議室、または複数のコミュニティサイトに、同じ質問を投稿することは、マルチポストと呼ばれるマナー違反行為ですのでおやめ下さい。
は、お読みになっておられるのでしょうか?

マルチポストはやめましょう

あちこちで、同じような質問を繰り返しても、
その都度、作っているものを説明し直さなければならず、
かえって手間がかかると思いますが。

引用:
koko2さんは書きました:
空のMCに10個の写真をロードするところまでは、できたのですが、MCを順々にロードすることができません。

MCをロードするというのは、どういうことでしょう?
load_mc に、外部画像を読み込むということでしょうか?

スクリプトだけを掲載するのではなく、
どういった動きをさせたいのかなどの説明も必要であるように思います。


また、このスクリプトは、
どこかで記載されていたスクリプトをコピー&ペーストするなどしているのでしょうか?
ツギハギだらけになっている印象ですが。

手直しではなくて、一から作り直した方が良いように思います。


----------------
質問する際は、回答者に具体的な情報を与えてください。

ひろゆき
Åê¹ÆNo.36200
投稿日時: 2007-11-15 4:59
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: MCを順々にロードすることができません
引用:
koko2さんは書きました:
ソースはコピー&ペースとした箇所も
ありましたので、削除させていただきました。

少なくとも、何をどのように動かしたいのか、
第三者にも分かるように説明すべきでしょう。

サンプル


----------------
質問する際は、回答者に具体的な情報を与えてください。

koko2
Åê¹ÆNo.36202
投稿日時: 2007-11-15 6:40
新米
居住地:
投稿: 6
使用環境:
windowsxp flash mx 2004
Re: MCを順々にロードすることができません
中途半端な書き込みをして申し訳ございません。

現在、やろうとしていることは、ステージに空のムービークリップ
を作成し、これにサムネイル(外部から)を10個読み込ませます。
その際に順々にフェードインさせながらステージに表示させます。

下記のfor文を使用して

for (var i=1; i <= 10; i++) {

スクリプトを書いています。

ただ、mc.onLoadInit = function () {
を利用して作るんじゃないかと思い色々試しているのですが
ワークしません。

もしよろしければ、”順々にフェードインさせる”考え方をおしえていただけますでしょうか?

よろしくおねがいいたします。

ひろゆき
Åê¹ÆNo.36203
投稿日時: 2007-11-15 6:55
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: MCを順々にロードすることができません
引用:
koko2さんは書きました:
ただ、mc.onLoadInit = function () {
を利用して作るんじゃないかと思い色々試しているのですが
ワークしません。

「ワークしません」と書かれても、何がどう動かないのか分かりませんね。

少なくとも、複数のものを試される前に、
MovieClipLoader を用いるのであれば、
正しい使い方を学ぶ必要があるのではないでしょうか。

MovieClipLoaderクラスについて


実現したいのは、順にフェードインさせることだけなのでしょうか?
最初からきちんと説明し直された方が良いように思います。

でなければ、二度手間になりますよ。


引用:
もしよろしければ、”順々にフェードインさせる”考え方をおしえていただけますでしょうか?

まず、外部画像を読み込む場合、読み込みを開始してから、読み込みが完了するまでに、
多かれ少なかれ時間がかかります。

なので、例えば、sample1.jpg -> sample2.jpg へと読み込みを行うとする場合、
次の流れを考える必要があるでしょう。
それぞれムービークリップ(インスタンス名: thumb1, thumb2)に読み込むとする。

(1) sample1.jpg の読み込み開始
(2) sample1.jpg の読み込み完了
(3) thumb1 のフェードイン開始
(4) thumb1 のフェードイン完了
(5) sample2.jpg の読み込み開始
(6) sample2.jpg の読み込み完了
(7) thumb2 のフェードイン開始
(8) thumb2 のフェードイン完了

サンプル」では、上記の流れで外部画像を読み込んでいます。

しかし、(5) を (2)や(3) の後にすることもできるはずです。
そのタイミングをどのようなものにするのかについては、
説明していただく必要があります。

あるいは、読み込み開始を等間隔で行おうとするのであれば、
setInterval などを用いることになると思いますが、
その結果、順にフェードインが行われるとは限りません。


----------------
質問する際は、回答者に具体的な情報を与えてください。

koko2
Åê¹ÆNo.36208
投稿日時: 2007-11-15 10:34
新米
居住地:
投稿: 6
使用環境:
windowsxp flash mx 2004
Re: MCを順々にロードすることができません
ひろゆきさんの「サンプル」のように、
空のサムネイルに10個のイメージ(仮にこれを、thumb1からthumb2とします)が読み込まれ、そのサムネイルをクリックするとJPEG画像がさらに読み込まれるといったものを最終的に目指しています。

「MovieClipLoaderクラスについて」を読み、恥ずかしながら
順々に読み込むということの意味がわかりました。

ひろゆきさんが記述してくださった下記の順序で試したいと思っています。
引用:

(1) sample1.jpg の読み込み開始
(2) sample1.jpg の読み込み完了
(3) thumb1 のフェードイン開始
(4) thumb1 のフェードイン完了
(5) sample2.jpg の読み込み開始
(6) sample2.jpg の読み込み完了
(7) thumb2 のフェードイン開始
(8) thumb2 のフェードイン完了


もう少し勉強してみます。

ひろゆき
Åê¹ÆNo.36212
投稿日時: 2007-11-15 10:55
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: MCを順々にロードすることができません
引用:
koko2さんは書きました:
ひろゆきさんの「サンプル」のように、
空のサムネイルに10個のイメージ(仮にこれを、thumb1からthumb2とします)が読み込まれ、そのサムネイルをクリックするとJPEG画像がさらに読み込まれるといったものを最終的に目指しています。

カテゴリの説明はされないのですか?
カテゴリ別にするのとしないのとでは、大きく違いますが。
フェードアウトのことを念頭におくと、
設計段階で、ムービークリップの構造から考えておいた方がいいのですが。


単純に、サムネイルと大きな画像だけですか?
それに、大きな画像も、単純に読み込むだけで、
フェードインはさせる必要はないのですね?

であれば...。

_root 第1フレームに
var thumbList:Array = new Array();
thumbList = [4, 9, 12, 15, 18, 22, 24, 32, 36];

var thumbID:Number = 0;

var thumbLoader:MovieClipLoader = new MovieClipLoader();
var thumbListener:Object = new Object();
thumbListener.onLoadStart = function(target:MovieClip):Void {
	var thumb:MovieClip = target._parent;
	thumb._alpha = 0;
};
thumbListener.onLoadInit = function(target:MovieClip):Void {
	var thumb:MovieClip = target._parent;
	var thumbMax:Number = thumbList.length;
	thumb.onEnterFrame = function():Void {
		this._alpha += 10;
		if (this._alpha >= 100) {
			this._alpha = 100;
			delete this.onEnterFrame;
			thumbID++;
			if (thumbID < thumbMax) {
				loadThumb(thumbID);
			}
		}
	};
};
thumbLoader.addListener(thumbListener);

var photoLoader:MovieClipLoader = new MovieClipLoader();
var photoListener:Object = new Object();
photoListener.onLoadInit = function(target:MovieClip):Void {
	target._visible = true;
};
photoLoader.addListener(photoListener);

for(var t:Number = 0; t < thumbList.length; t++) {
	var thumb:MovieClip = this.createEmptyMovieClip("thumb"+t, t);
	thumb._x = 90*(t%6)+35;
	thumb._y = 90*Math.floor(t/6)+360;
	thumb.id = t;
	thumb.createEmptyMovieClip("holder", 1);
	thumb.onRelease = function():Void {
		loadPhoto(this.id);
	};
}
var photo:MovieClip = this.createEmptyMovieClip("photo", thumbList.length);
photo._x = 140;
photo._y = 20;

loadThumb(thumbID);

function loadThumb(t:Number):Void {
	var filePath:String = "photo/sample" + thumbList[t] + "s.jpg";
	var target:MovieClip = this["thumb"+t].holder;
	thumbLoader.loadClip(filePath, target);
}

function loadPhoto(t:Number):Void {
	var filePath:String = "photo/sample" + thumbList[t] + "m.jpg";
	photoLoader.loadClip(filePath, photo);
}
と記述。

関数から戻るタイミング
が参考になるので、目を通された方が良いでしょう。


----------------
質問する際は、回答者に具体的な情報を与えてください。

koko2
Åê¹ÆNo.36280
投稿日時: 2007-11-16 9:06
新米
居住地:
投稿: 6
使用環境:
windowsxp flash mx 2004
Re: MCを順々にロードすることができません
ひろゆきさん
説明不足で申し訳ございません。


ひろゆきさんのサンプルでいうカテゴリは、
違うムービークリップに入れて、そのムービークリップを読み込ませて表示していました。つまり、カテゴリ1とカテゴリ2は
違うムービークリップにいれて、ボタンアクションによって読み込ませていました。

ご質問ですが、上記で、
引用:
空のサムネイルに10個

と私が限定してしたので、Arrayを使用してくださったんだと思うのですが、もし、10と決めず、もっと数が多くなった場合、あるいは不特定にしておきたい場合には、

thumb を "thumb" + t のように定義してスクリプトを作っていけばいいのでしょうか?


また

var thumb:MovieClip = target._parent;


上記の ”target._parent;”の部分がどうして
こうなるのかわかりません。
勉強不足で申し訳ありませんが、教えていただけますでしょうか?

よろしくお願いいたします。

あにぃ
Åê¹ÆNo.36282
投稿日時: 2007-11-16 10:11
職人
居住地: 北海道
投稿: 250
使用環境:
Flash8
FlashCS3
WinXP
FlashLite1.1 / 2.0
Re: MCを順々にロードすることができません
詳しく見ていないので間違っているかもですが。。。

ひろゆきさんのサンプルの中身はちゃんと理解できていますでしょうか?
配列の要素を増やせばそのまま対応できるように見受けられます。


thumbListener.onLoadStart = function(target:MovieClip):Void {
    var thumb:MovieClip = target._parent;
    thumb._alpha = 0;
};

この中のtarget._parentのことでしょうか?
targetについて考えたら、おのずと答えがでるように思われます。

頑張って調べたのですが、わからないのでというのであればまだわかりますが、
単なる勉強不足であれば、自分で勉強なさって下さい。


----------------
質問する際には、ご自分でできる限り調べてから投稿して下さい

P・S 職人おめでとう。(08/10/09)

(1) 2 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

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