質問: 160; }; mcloader.addlistener(listenerobject); mcloader.loadclip("photo001.jpg", photoframe); --------------------------------------------------- 環境 / win xp / flash cs3 / アクションスクリプト 2.0
回答: そこまで調べただけでできていたら良く調べられていると思います。 あとは調べるのではなくて考えるものでしょう。 たとえば次のようにすればできます。 ※変更したのは listenerobject.onloadinit = function() { } 内だけです。 var mcloader:moviecliploader = new moviecliploader(); var listenerobject:object = new object(); listenerobject.onloadinit = function() { // 変数 hpw に 「高さ/横幅」 の比を取得 var hpw:number = photoframe._height/photoframe._width; // もし横幅が120より大きい場合 if (photoframe._width>120) { // 横幅を120にする photoframe._width = 120; // そして高さもその比に合わせて変える photoframe._height = 120*hpw; } // 上の縮小をしても(しなくても)まだ高さが160より大きい場合 if (photoframe._height>160) { // 高さを160にする photoframe._height = 160; // そして横幅もその比に合わせて変える photoframe._width = 160/hpw; } }; mcloader.addlistener(listenerobject); mcloader.loadclip("photo001.jpg", photoframe); 調べると言っても何を調べるのかわかりませんが, あえて actionscript で調べるとするのら if文 くらいでしょうか。 「flashアクションスクリプト入門編 if / if else文」 http://isvalid.jp/actionscriptlab/aslesson/actionsctipt_if.html もしくは actionscript を離れて「相似比」とか。 「相似比」 http://contest.thinkquest.jp/tqj2002/50027/page098.html しかし,相似比などまで難しく考える必要はないと思います。 === === === === === === ちなみに上のスクリプトは 横幅もしくは高さのどちらか一方でも指定サイズを超えていた場合にリサイズ(縮小)させるものです。 もし横幅や高さが指定サイズよりも小さい場合でもリサイズする場合は, 上側の if文 の if をはずせば良いと思います。 ...以上は略 ... listenerobject.onloadinit = function() { // 変数 hpw に 「高さ/横幅」 の比を取得 var hpw:number = photoframe._height/photoframe._width; // 何が何でも横幅を120にする photoframe._width = 120; // そして何が何でも高さをその比に合わせて変える photoframe._height = 120*hpw; // 上の拡大縮小をしたときに高さが160より大きくなった場合 if (photoframe._height>160) { // 高さを160にする photoframe._height = 160; // そして横幅もその比に合わせて変える photoframe._width = 160/hpw; } }; ...以下は略... あと上のように, 「一旦,横幅に合わせてサイズを変えてみてから高さに合わせてサイズを変える」 というような 原始的方法というか荒業というかそういう方法ではなく, もっと理知的(?)なスクリプトにしたい場合は次のようにしても良いと思います。 // 横幅と高さの指定 var size_w:number = 120; var size_h:number = 160; var mcloader:moviecliploader = new moviecliploader(); var listenerobject:object = new object(); listenerobject.onloadinit = function() { // 変数 hpw に 「高さ/横幅」 の比を取得 var hpw:number = photoframe._height/photoframe._width; // もし 「高さ/横幅」 の比が指定サイズの比よりも横長であった場合 if (hpw