メイン 迷える子羊の部屋【初心者専用】
複数読み込んだ画像にスムージングを加えリサイズする | 投稿するにはまず登録を |
| スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
| 投稿者 | スレッド |
|---|---|
| 3-3-3 | Åê¹ÆNo.39782 投稿日時: 2008-8-4 16:23 |
新米 ![]() ![]() 居住地: 大阪近郊 投稿: 3
使用環境:
CS3 Mac 10.4.11 FlashPlayer 7.0r24/8.0r24/9.0r115 Safari 1.3.2 : |
複数読み込んだ画像にスムージングを加えリサイズする 画像のスムージング設定 (2)にゃあ プロジェクト
以上のコードを参考させていただきました。 )ひろゆきさまありがとうございます。 全体の流れ:ムービークリップを配置→そのムービークリップに画像を読み込み→ スムージングをかける→全て読み込んだら→リサイズする *リサイズ使用とするが、0番目の画像だけ大きさが取得できず 違うサイズになってしまいます。 1.配置スクリプトでattachMovieでムービークリップを配置していきます。 2.LoadImage()で画像を読み込みスムージングをかけていきます。 3.(2)のonLoadInitで全てロード終了後(ここが無理矢理なきがします。)に リサイズの処理に移りますが、0番目に配置した画像のサイズが取得できません。 たぶん無理矢理つくってしまったので、 actionscriptのコードの書き方の基礎的な事が、間違えているようなきがします。 またこのactionscriptのコードの書き方の基礎的な事を勉強する上でおすすめサイトや 書籍があれば教えて頂きたいです。 よろしくお願いいたします。 コード ======================================================================== import flash.display.BitmapData; //配置スクリプト//////////////////////////////////////////////// MAXKAZU=10; for (var i = 0; i<=MAXKAZU; i++) { var attach_mc = mc_scroll.scloll_mc.attachMovie("attach_mc", "attach_mc"+i, i); attach_mc.i=i; //attach_mc=w136 h156.4 attach_mc._x = attach_mc._width*i+10*i; attach_mc._y = 0; LoadImage(); } //スムージング処理//////////////////////////////////////////////// z=0; function LoadImage(){ Path = mc_scroll.scloll_mc["attach_mc"+i]; var imgLoader:MovieClipLoader = new MovieClipLoader(); var imgListener:Object = new Object(); //読み込み後 imgListener.onLoadInit = function(target_mc:MovieClip):Void { var _mc:MovieClip = target_mc._parent; bitmapSmoothing(target_mc, _mc.img_mc.img); trace("zzzz"); z+=1; if(z==MAXKAZU){trace("Resize"); Resize();}//リサイズ処理へ }; imgLoader.addListener(imgListener); Path.createEmptyMovieClip("loader", 1); imgLoader.loadClip("img/4905823849613.jpg", Path.loader); function bitmapSmoothing(loader:MovieClip, holder:MovieClip):Void { var _bd:BitmapData = new BitmapData(loader._width, loader._height, true, 0xFFFFFF); _bd.draw(loader); holder.attachBitmap(_bd, 0, "auto", true); loader.removeMovieClip(); } } //リサイズ処理////////////////////////////////////////////////////////////// function Resize(){ for (var z = 0; z<=MAXKAZU; z++) { MMM=mc_scroll.scloll_mc["attach_mc"+z]; WWW=mc_scroll.scloll_mc["attach_mc"+z]._width; HHH=mc_scroll.scloll_mc["attach_mc"+z]._height; trace(WWW);//画像の横幅 trace(HHH);//画像の縦幅 } ======================================================================== |
| ひろゆき | Åê¹ÆNo.39785 投稿日時: 2008-8-4 16:47 |
ちょんまげら ![]() ![]() 居住地: 東京砂漠 投稿: 4403
使用環境:
10.8.5 Flash Professional CS4/CS6/CCSafari 6.1 |
Re: 複数読み込んだ画像にスムージングを加えリサイズする 「アカウント編集」で、編集環境は書いておきましょう。
「プロフィール・使用環境記入のお願い」 #その他の欄に記入すれば、使用環境として表示されるはずです。 実際に用いられているスクリプトを記載するだけでは、説明不足だと思います。 まず、何のムービークリップがどこにあるのか、不明瞭のように思います。 次に、MovieClipLoaderは、同じ処理を行えばよいのでしょうから、 1つで十分なはずですが、複数生成されているところに問題があるように思います。 他の点については、説明されていない部分もあるので、読んでいません。
|
| ひろゆき | Åê¹ÆNo.39786 投稿日時: 2008-8-4 17:10 |
ちょんまげら ![]() ![]() 居住地: 東京砂漠 投稿: 4403
使用環境:
10.8.5 Flash Professional CS4/CS6/CCSafari 6.1 |
Re: 複数読み込んだ画像にスムージングを加えリサイズする リサイズというのが、何をするものなのかよく分かりませんが。
表示しようとしている画像の数が10ならば、 n <= max ではなく、n < max だと思いますし。
|
| 3-3-3 | Åê¹ÆNo.39788 投稿日時: 2008-8-4 19:43 |
新米 ![]() ![]() 居住地: 大阪近郊 投稿: 3
使用環境:
CS3 Mac 10.4.11 FlashPlayer 7.0r24/8.0r24/9.0r115 Safari 1.3.2 : |
Re: 複数読み込んだ画像にスムージングを加えリサイズする ちょんまげら様
ご回答ありがとうございます。 >n <= max ではなく、n < max だと思いますし。 すみません単純なミスで、修正したところ正常に動作しました。 理解不足なところがあり困惑してしまいました。 キレイなスクリプトを書いていただいてありがとうございます。 参考に勉強させていただきます。 ちなみにムービークリップの階層は以下のようになります。 rootにmc_scrollを配置 mcscroll内に[attach_mc+ナンバー]を横一列に並べ、 [attach_mc+ナンバー]内のimg_mc内のimgに画像を読み込みます。 リサイズの処理は以下になります。 126x100のエリアに読み込んだ画像が width>heightならwidthを126に比率をheightに反映 width<heighならheighを100に比率をwidthに反映 ////////////////////////////////////////////////////////////////////////////////////////// function Resize(){ for (var z = 0; z<MAXKAZU; z++) { MMM=mc_scroll.scloll_mc["attach_mc"+z]; WWW=Number(mc_scroll.scloll_mc["attach_mc"+z]._width); HHH=Number(mc_scroll.scloll_mc["attach_mc"+z]._height); WWW=mc_scroll.scloll_mc["attach_mc"+z]._width; HHH=mc_scroll.scloll_mc["attach_mc"+z]._height; //trace(i) //126x100//サイズ指定 sizeW=126; sizeH=100; if(WWW>=HHH) { trace("www"); ww=_mc.img_mc.img._width/sizeW; mc_scroll.scloll_mc["attach_mc"+z].img_mc.img._width=sizeW; mc_scroll.scloll_mc["attach_mc"+z].img_mc.img._height=mc_scroll.scloll_mc["attach_mc"+z].img_mc._height/ww; mc_scroll.scloll_mc["attach_mc"+z].img_mc.img._x=0-mc_scroll.scloll_mc["attach_mc"+z].img_mc.img._width/2; mc_scroll.scloll_mc["attach_mc"+z].img_mc.img._y=0-mc_scroll.scloll_mc["attach_mc"+z].img_mc.img._height/2; }else if(WWW<=HHH) { hh=MMM.img_mc.img._height/100; MMM.img_mc.img._height=100; MMM.img_mc.img._width=MMM.img_mc._width/hh; MMM.img_mc.img._x=0-MMM.img_mc.img._width/2; MMM.img_mc.img._y=0-MMM.img_mc.img._height/2; } } } ////////////////////////////////////////////////////////////////////////////////////////// |
| ひろゆき | Åê¹ÆNo.39789 投稿日時: 2008-8-4 20:30 |
ちょんまげら ![]() ![]() 居住地: 東京砂漠 投稿: 4403
使用環境:
10.8.5 Flash Professional CS4/CS6/CCSafari 6.1 |
Re: 複数読み込んだ画像にスムージングを加えリサイズする 引用:
3-3-3さんは書きました: ちょんまげらは、名前ではないんですが。 もう少し整理すれば、これくらいにはなると思います。 resize() は、onLoadInit 内で定義した方がもっとシンプルになる気がしますが。
|
| 3-3-3 | Åê¹ÆNo.39791 投稿日時: 2008-8-4 20:47 |
新米 ![]() ![]() 居住地: 大阪近郊 投稿: 3
使用環境:
CS3 Mac 10.4.11 FlashPlayer 7.0r24/8.0r24/9.0r115 Safari 1.3.2 : |
Re: 複数読み込んだ画像にスムージングを加えリサイズする ひろゆきさまですね
失礼しました。 なるほどまとまっていますね!!!! 本当に勉強になりました! ありがとうございます。 |
| スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
| 投稿するにはまず登録を | |



ログイン




10.8.5
Flash Professional CS4/CS6/CC
