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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     Loaderコンポーネントについて
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
末永 慎一
Åê¹ÆNo.25917
投稿日時: 2006-6-5 17:05
新米
居住地:
投稿: 16
使用環境:
Win XP Pro
Flash MX2004
Loaderコンポーネントについて
function ImageLoad1(){
mb_loader = _root.mc_w.createObject("Loader", "img1", 1);
mb_loader._x =0;
mb_loader._y = 0;
mb_loader.autoLoad = false;
mb_loader.setSize(300,200);
mb_loader.scaleContent = true;
mb_loader.contentPath = 'http://test.com/img/xxx.jpg';
mb_loader.load();
}
上記のような関数で、
xxx.jpgが、600x400ピクセルの場合、実行させると、
mb_loader.setSize(300,200);
のサイズに縮小されて表示されると思うのですが、Flash MX 2004で、F12Keyを押してhtml化し、IEで確認した場合、xxx.jpgが縮小されずに600x400ピクセルのまま表示される場合が多々あります。IEの更新を押すと正常に縮小されます。
Flash Player7でカクニンシタ場合は、確実に縮小表示されます。html化した場合でも、確実に縮小させる方法ご存知の方みえましたら、アドバイスしていただけますよう宜しくお願いいたします。


----------------
http://suenaga-world.com
末永 慎一

ひろゆき
Åê¹ÆNo.25918
投稿日時: 2006-6-5 17:29
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: Loaderコンポーネントについて
アカウント編集」で、使用環境は書いておきましょう
プロフィール・使用環境記入のお願い

引用:
shinichiさんは書きました:
Flash MX 2004で、F12Keyを押してhtml化し、IEで確認した場合、xxx.jpgが縮小されずに600x400ピクセルのまま表示される場合が多々あります。

読み込みのタイミングの問題のような気がします。
読み込みが完了したことを確認した後に、setSize するといいのではないかと思います。
function ImageLoad1(){
		(中略)
	//mb_loader.setSize(300,200);
	mb_listener = new Object();
	mb_listener.complete = function(eventObj) {
		eventObj.target.setSize(300,200);
	}
	mb_loader.addEventListener("complete", mb_listener);
	mb_loader.scaleContent = true;
	mb_loader.contentPath = 'http://test.com/img/xxx.jpg';
	mb_loader.load();
}
だと、いかがでしょう?


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

末永 慎一
Åê¹ÆNo.25919
投稿日時: 2006-6-5 17:52
新米
居住地:
投稿: 16
使用環境:
Win XP Pro
Flash MX2004
Re: Loaderコンポーネントについて
試してみましたが、結果は同じでした。
何が原因なのでしょうか。


----------------
http://suenaga-world.com
末永 慎一

ひろゆき
Åê¹ÆNo.25921
投稿日時: 2006-6-5 18:08
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: Loaderコンポーネントについて
function ImageLoad1(){
		(中略)
	//mb_loader.setSize(300,200);
	mb_listener = new Object();
	mb_listener.complete = function(eventObj) {
		eventObj.target.setSize(300,200);
	}
	mb_loader.addEventListener("complete", mb_listener);
	mb_loader.scaleContent = true;
	//mb_loader.contentPath = 'http://test.com/img/xxx.jpg';
	//mb_loader.load();
	mb_loader.load("http://test.com/img/xxx.jpg");
}
にしてみては?

#このフォーラム内のスクリプトをコピー&ペーストされるのであれば、
#各行の先頭にあるスペースを削除して、ご自分でタブキー入力してください。

アカウント編集」で、使用環境は書いておきましょう
プロフィール・使用環境記入のお願い


サンプル

とりあえず、以下のスクリプトで試してみました。
function ImageLoad1(){
	mb_loader = _root.mc_w.createObject("Loader", "img1", 1);
	mb_loader._x =0;
	mb_loader._y = 0;
	mb_loader.autoLoad = false;
	mb_listener = new Object();
	mb_listener.complete = function(eventObj) {
		eventObj.target.setSize(100,100);
	}
	mb_loader.addEventListener("complete", mb_listener);
	mb_loader.scaleContent = true;
	mb_loader.load("photo.jpg");
}
btn1.onRelease = ImageLoad1;


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

末永 慎一
Åê¹ÆNo.25934
投稿日時: 2006-6-6 11:58
新米
居住地:
投稿: 16
使用環境:
Win XP Pro
Flash MX2004
Re: Loaderコンポーネントについて
function ImageLoad1(){
mb_loader = _root.mc_w.createObject("Loader", "img1", 1);
mb_loader._x =0;
mb_loader._y = 0;
mb_listener = new Object();
mb_listener.complete = function(eventObj) {
eventObj.target.setSize(300,200);
}
mb_loader.addEventListener("complete", mb_listener);
mb_loader.scaleContent = true;
mb_loader.load('http://test.com/xxx.jpg');
}
としたら、以前よりは縮小される確立は上がりましたが、必ず縮小されるわけではなく、以前悩んでいます。
上のスクリプトはテスト的なもので、
function set_Loader(aTmpObj,aId,ax,ay,aw,ah,aImg,ascale){
var l_Name = new String();
l_Name = "loader_" + string(aId);
mb_loader = aTmpObj.createObject("Loader", l_Name, aId);
mb_loader._x = ax;
mb_loader._y = ay;
if( ascale == true ){
mb_listener = new Object();
mb_listener.complete = function(eventObj) {
eventObj.target.setSize(aw,ah);
}
mb_loader.addEventListener("complete", mb_listener);
}
mb_loader.scaleContent = ascale;
mb_loader.load(m_site_add + aImg);
}
という関数を作り、ループの中からこの関数を呼び出して、多くの画像を表示させたいと考えています。
setSizeが正しく動く場合と、動かない場合があり、タイミングの問題だろうとは思うのですが、回避策がわかりません。ブラウザを閉じずに、同じ画像を再び表示させると、全て縮小表示されます。
IE側の設定なのでしょうか。


----------------
http://suenaga-world.com
末永 慎一

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

Flash Professional CS4/CS6/CC

Safari 6.1
Re: Loaderコンポーネントについて
引用:
末永 慎一さんは書きました:
setSizeが正しく動く場合と、動かない場合があり、タイミングの問題だろうとは思うのですが、回避策がわかりません。ブラウザを閉じずに、同じ画像を再び表示させると、全て縮小表示されます。
IE側の設定なのでしょうか。

まず、問題を切り分けるために、
サンプル」で、縮小されない現象が発生するのかどうかを確認してください。

少なくとも、以下の環境では、同現象は発生しない模様です。
MacOSX 10.3.9
Safari 1.3.2 / IE 5.2.3 / Firefox 1.5.0.1
FlashPlayer8.0r24 / FlashPlayer7.0r24

もし、縮小されない現象が発生するのだとしたら、
その現象が確認されるブラウザがどのようなものか、
具体的にされるべきでしょう。

もし、縮小されない現象が発生しないのだとしたら、
他の要素を排除して、「サンプル」と同じような単純な構成で試したうえで、
どこに問題が潜んでいるのか、あるいは、どこに問題がないのか、
1ステップずつ確認すべきだと思われます。


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

lancer
Åê¹ÆNo.25942
投稿日時: 2006-6-7 11:17
半人前
居住地:
投稿: 33
使用環境:
Windows XP Professional SP2
Flash Professional 8
Re: Loaderコンポーネントについて
ブラウザをIE以外にして試してください。
LoaderコンポーネントはIEでバグがあります。
scaleContentの調整がIEだと働かないというバグです。

Googleかなにかで調べてみて下さい。
Fla4man
Åê¹ÆNo.25943
投稿日時: 2006-6-7 12:03
職人
居住地: かまくら
投稿: 517
使用環境:
WinMe,Win2000,
Flash4,アズさん,大仏、delphi
Re: Loaderコンポーネントについて
特定環境で起こりうるいやーな現象があったとして
特にそれが自分の環境であったら
バグのうんぬんよりも回避方法に走った方がいいと思います。

ダイナミックテキストで日本語フォントを指定すると
WIndowsMEだと文字化けするバグに比べたら救いはあるし
getURLやloadvarsでIE6以降だとreferer送らないとかと比べると
敷居は低いと思います。

とりあえずせっかくローダーコンポーネント使うんだから
ロード中は非表示にして
ロード終了してからサイズ変更するとかしてはどうでしょうか。

この手法はPNGやGIFをイメージオブジェクトに収納するのにも使えるので
もしも無理に対応する必要の無いものであったとしても
実装しておいて損は無いと思います。


----------------
通常のハンドル名:×○○× ねた回収モードに突入 現在1/100

末永 慎一
Åê¹ÆNo.25944
投稿日時: 2006-6-7 12:04
新米
居住地:
投稿: 16
使用環境:
Win XP Pro
Flash MX2004
Re: Loaderコンポーネントについて
引用:

ひろゆきさんは書きました:
まず、問題を切り分けるために、
サンプル」で、縮小されない現象が発生するのかどうかを確認してください。

サンプルまで作っていただき、ありがとうございました。
IE6で、こちらでも縮小の確認をしました。

私が作ったサンプルですが、Loadボタンにより、2つの600x400の画像を300x200に縮小して表示させるものです。
が、なぜかLoadボタンの最初のクリックでは縮小されず、2回目以降のクリックでは正しく縮小されるという現象がIE6で起きています。


function ImageLoad(){
	mb_loader = _root.mc_w1.createObject("Loader", "img1", 1);
	mb_loader._x  =0;
	mb_loader._y  = 0;
   mb_listener = new Object();
   mb_listener.complete = function(eventObj) {
	   eventObj.target.setSize(300,200);
	}
	mb_loader.addEventListener("complete", mb_listener); 
	mb_loader.scaleContent = true;
	mb_loader.load('test1.jpg');

	mb_loader = _root.mc_w2.createObject("Loader", "img2", 1);
	mb_loader._x  =0;
	mb_loader._y  = 0;
   mb_listener = new Object();
   mb_listener.complete = function(eventObj) {
	   eventObj.target.setSize(300,200);
	}
	mb_loader.addEventListener("complete", mb_listener); 
	mb_loader.scaleContent = true;
	mb_loader.load('test2.jpg');
}

というスクリプトですが、調べていてわかってきたことは、Web上の画像を読み込みIEで観覧した場合、縮小されないことが多いです。開発PC上の画像を読み込みIEで観覧した場合は正しく縮小されます。
FlashPlayerで確認すると、Web上、開発PC上どちらの画像を読み込んでも縮小されます。
お忙しいとは思いますが、私のサンプルを確認していただき、何かお気づきながありましたらアドバイスしていただけますよう、宜しくお願いいたします。


----------------
http://suenaga-world.com
末永 慎一

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

Flash Professional CS4/CS6/CC

Safari 6.1
Re: Loaderコンポーネントについて
引用:
lancerさんは書きました:
LoaderコンポーネントはIEでバグがあります。
scaleContentの調整がIEだと働かないというバグです。
とのことなので、

サンプル2

とりあえず、以下のスクリプトで試してみました。
function ImageLoad1(){
	mb_loader = _root.mc_w.createObject("Loader", "img1", 1);
	mb_loader._x =0;
	mb_loader._y = 0;
	mb_loader.autoLoad = false;
	mb_listener = new Object();
	mb_listener.complete = function(eventObj) {
		//eventObj.target.setSize(100,100);
		eventObj.target._width = 100;
		eventObj.target._height = 100;
		eventObj.target.visible = true;
	}
	mb_loader.addEventListener("complete", mb_listener);
	//mb_loader.scaleContent = true;
	mb_loader.visible = false;
	mb_loader.load("photo.jpg");
}
btn1.onRelease = ImageLoad1;



------
Fla4manさんが書かれている
引用:
とりあえずせっかくローダーコンポーネント使うんだから
ロード中は非表示にして
ロード終了してからサイズ変更するとかしてはどうでしょうか。
の手順ですね。


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

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

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