http://www.trick7.com/blog/2006/09/21-135325.php
こちらで配布してくださっているサンプル(Download:loader.zip(Flash8形式、1.9MB))に
下記のコードを追加して、読み込んだ画像が設定サイズ以上の場合は
リサイズしたいのですがどこにどうやって追加すれば宜しいのか教えてください。
試行錯誤してみたのですが知識が浅く、基本も理解出来ていないためどうにもうまくいきません。
よろしくお願いします。
(元のコードは長いのでこちらへの記載は行いませんでした。)
var size_w:Number = 1500;
var size_h:Number = 1000;
// 変数 hpw に 「高さ/横幅」 の比を取得
var hpw:Number = container._height/container._width;
// もし 「高さ/横幅」 の比が指定サイズの比よりも横長であった場合
if (hpw<size_h/size_w) {
// 横幅を size_w にする
container._width = size_w;
// そして高さもその比に合わせて変える
container._height = size_w*hpw;
}
// もし 「高さ/横幅」 の比が指定サイズの比と同じか縦長であった場合
else {
// 高さを size_h にする
container._height = size_h;
// そして横幅もその比に合わせて変える
container._width = size_h/hpw;
// 中心に寄せる
container._x = (1500 - size_h/hpw) / 2;
}
>読み込んだ画像が設定サイズ以上の場合はリサイズしたい
//これが設定サイズ
var size_w:Number = 1500;
var size_h:Number = 1000;
//読み込んだ画像が設定サイズ以上の場合
if(container._height>size_h&&container._width>size_w){
//ここにリサイズする処理
}else{
//読み込んだ画像が設定サイズ以内の場合
//ここにそれ以外の処理
}
でいいんじゃないかい?
>読み込んだ画像が設定サイズ以上の場合はリサイズしたい
//これが設定サイズ
var size_w:Number = 1500;
var size_h:Number = 1000;
//読み込んだ画像が設定サイズ以上の場合
if(container._height>size_h&&container._width>size_w){
//ここにリサイズする処理
}else{
//読み込んだ画像が設定サイズ以内の場合
//ここにそれ以外の処理
}
でいいんじゃないかい?
ありがとうございます。
そもそも下記ようにすると「0」を返されてしまいます。
listener.onLoadInit = function(target: MovieClip): Void {
trace(container._height);
}
なので、教えて頂いたコードを書いても動作してくれないのです。
よろしくお願いします。
listener.onLoadComplete = function(target:MovieClip) {
if (percentage == 100) {
の後にcontainerのかわりにtargetで
trace(target._height);
とすれば値取れると思いますが
読み込まれてるSWFにも問題ないですか。
がんばってください。だめ元で手探りで
いろいろトライ&エラーするのも
上達への道のりの一つです。
またそこからロジカルに処理の流れ、仕組み、方法を
考えるのもいいと思います。
これも試してだめっだたようなきがしたのですが...
もう一度やってみます。
ありがとうございます。
あっ 読み込んでいるのは jpg です。
追記です。
やはりダメでした。
「0」と表示されてしまいます。
上記のサイズを変換する処理を入れなければ表示します。
もちろん大きな画像はそのままなので使い物にならないのですが...
ありがとうございます。
そもそも下記ようにすると「0」を返されてしまいます。
listener.onLoadInit = function(target: MovieClip): Void {
trace(container._height);
}
なので、教えて頂いたコードを書いても動作してくれないのです。
よろしくお願いします。