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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   迷える子羊の部屋【初心者専用】
     切り抜いたBitmapをmcにaddChildするとサイズがおかしくなる
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
fjkzk2012
Åê¹ÆNo.48930
投稿日時: 2012-3-28 2:32
新米
居住地:
投稿: 3
使用環境:
Windows7 64bit
Flash CS3
バージョン:Flash Player 9
ASバージョン:ActionScript3.0
切り抜いたBitmapをmcにaddChildするとサイズがおかしくなる
はじめまして、初めて投稿させていただきます。

以下のように、imgBtmDataSrcに任意の大きさ(1500,1000)のBitmapオブジェクトを作り、
imgBtmDataを指定した大きさで作り、imgBtmDataにimgBtmDataSrcを描画(draw)して
imgBtmDataの大きさで切り抜いたものをaddChildで配置しているのですが、ステージに直接
配置するとimgBtmDataのサイズでステージの左上に配置されるのですが、ステージ上にあらか
じめ用意したムービークリップthumb(thumbのサイズはimgBtmDataのサイズと同じ)にaddChild
するとサイズによってimgBtmDataより小さくなったり、大きくなったりします。以下の例ではBitmapData
(400,300)では正しくthumbに(400,300)で配置されるのですが、BitmapDataとthumbのサイズが
(400,300)より小さくなると指定したサイズより小さくなってしまいます。(以下の例では(300,200)の
thumb2に4分の3くらいの大きさになってthumb2の左上に配置される)逆に一番下の例(600,400)に
なると(600,400)を超えて、thumb3をはみ出してしまいます。
//追記 3パターン作成していて、2つ目以降imgBtmData2,imgBtmData3などと変数名に番号を付けています。


package {
	import flash.display.*;
	public class LoadImgAndClipTest extends MovieClip {
		public function LoadImgAndClipTest() {
			var imgBtmDataSrc:BitmapData = new BitmapData(1500, 1000);
			var imgBtmData:BitmapData = new BitmapData(400, 300);
			imgBtmData.draw(imgBtmDataSrc); 
			var imgBtm:Bitmap = new Bitmap (imgBtmData);
			thumb.addChild(imgBtm);
			
			var imgBtmDataSrc2:BitmapData = new BitmapData(1500, 1000);
			var imgBtmData2:BitmapData = new BitmapData(300, 200);
			imgBtmData2.draw(imgBtmDataSrc2);
			var imgBtm2:Bitmap = new Bitmap (imgBtmData2);
			thumb2.addChild(imgBtm2);
			//addChild(imgBtm2); ←この場合はステージの左上に正しいサイズで配置される。
			
			var imgBtmDataSrc3:BitmapData = new BitmapData(1500, 1000);
			var imgBtmData3:BitmapData = new BitmapData(600, 400);
			imgBtmData3.draw(imgBtmDataSrc3);
			var imgBtm3:Bitmap = new Bitmap (imgBtmData3);
			thumb3.addChild(imgBtm3);
			//addChild(imgBtm3); ←この場合はステージの左上に正しいサイズで配置される。
		}
	}
}


//追記
flashのキャプチャ画像と実行後の画像を用意しました。
flashの画面



実行

thumb,thumb2,thumb3をそれぞれステージ上に配置しています。

うまく説明できないのですが、もともとはステージ上に配置した任意の位置、サイズ、個数の四角形
のムービークリップに外部から読み込んだ画像をそれぞれのムービークリップのサイズに変更し、
(アスペクト比が異なるなら切り抜きも行なう)貼り付けるものを作っていたのですが、画像をbitmapに
変換し貼り付けても、元画像とムービークリップのアスペクト比が近くかつ、アスペクト比(長辺/短辺)
が小さくなる方向への切り抜き(この条件も定かではない)の時以外は、上記のようにムービークリップ
より小さく変形し、アスペクト比が場合によっては崩れる!?(やはりステージにaddChildすれば期待
通りの変形(ただしステージの左上))という状態でしたので、問題を切り分けて自分なりに突き詰めた
結果上記の変形がうまくいかないことが原因のような気がします。長文で見にくく申し訳ありませんが、
もしなにか分かるようでしたら、教えていただければ嬉しいです。
ひろゆき
Åê¹ÆNo.48932
投稿日時: 2012-3-28 12:25
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: 切り抜いたBitmapをmcにaddChildするとサイズがおかしくなる
適度に改行されないと読みにくいです。

thumb2 が唐突に出てきますが、これの説明がありません。
よって、thumb2が怪しいのでは?とか回答のつけようがない気が。


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

fjkzk2012
Åê¹ÆNo.48933
投稿日時: 2012-3-28 13:56
新米
居住地:
投稿: 3
使用環境:
Windows7 64bit
Flash CS3
バージョン:Flash Player 9
ASバージョン:ActionScript3.0
Re: 切り抜いたBitmapをmcにaddChildするとサイズがおかしくなる
返信ありがとうございます。読みにくくてすみません。
コードに誤りがありました。コメントアウトしているところですが、

//addChild(imgBtm); ←この場合はステージの左上に正しいサイズで配置される。

が2か所ありますが、それぞれimgBtm→imgBtm2,imgBtm3の間違いです。(修正済み)

flashのキャプチャ画像と実行後の画像を用意したのでご覧いただければうれしいです。(最初の投稿)
今回の例では3パターン試していて、1番目はthumb,imgBtmDataなど変数に番号が
ついていないもので、2番目、3番目となるとそれぞれ、thumb2,imgBtmData2,thum3,
imgBtmData3などとなっています。
説明が分かりずらく申し訳ありませんでした。

コマツ
Åê¹ÆNo.48934
投稿日時: 2012-3-28 14:27
職人
居住地: 東京都葛飾区
投稿: 356
使用環境:
windows7
CS5.5 CS6
Re: 切り抜いたBitmapをmcにaddChildするとサイズがおかしくなる
fjkzk2012 さん、こんにちは。

thumb、thumb2、thumb3のMovieClipの縮小率の問題のような気がします。
変形パネルで、各MovieClipの横と縦の%を確認してみてください。
fjkzk2012
Åê¹ÆNo.48935
投稿日時: 2012-3-28 21:05
新米
居住地:
投稿: 3
使用環境:
Windows7 64bit
Flash CS3
バージョン:Flash Player 9
ASバージョン:ActionScript3.0
Re: 切り抜いたBitmapをmcにaddChildするとサイズがおかしくなる
Komatsuさん、こんばんは。返信ありがとうございます。
thumb(100%,100%)、thumb2(75%, 66.7%)、thumb3(150%,133.3%)となっていました。
シンボルの扱いをよく理解しておらず、最初に作ったシンボルをそのままコピーして変形したのが原因の
ようでした。新たにシンボルをつくって、thumb2、thumb3を作るとうまく動作しました! 元のサムネイル
ギャラリーも望みどおりの動作をしました。本当に助かりました、ありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

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