人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

flashアクションスクリプトについて

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;
}

●質問者: worldtravel
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:Download Flash Number zip アクション
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● chibitomo
●500ポイント ベストアンサー

>読み込んだ画像が設定サイズ以上の場合はリサイズしたい

//これが設定サイズ

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);

}

なので、教えて頂いたコードを書いても動作してくれないのです。

よろしくお願いします。


2 ● chibitomo
●100ポイント

listener.onLoadComplete = function(target:MovieClip) {

if (percentage == 100) {

の後にcontainerのかわりにtargetで

trace(target._height);

とすれば値取れると思いますが

読み込まれてるSWFにも問題ないですか。

がんばってください。だめ元で手探りで

いろいろトライ&エラーするのも

上達への道のりの一つです。

またそこからロジカルに処理の流れ、仕組み、方法を

考えるのもいいと思います。

◎質問者からの返答

これも試してだめっだたようなきがしたのですが...

もう一度やってみます。

ありがとうございます。

あっ 読み込んでいるのは jpg です。


追記です。

やはりダメでした。

「0」と表示されてしまいます。

上記のサイズを変換する処理を入れなければ表示します。

もちろん大きな画像はそのままなので使い物にならないのですが...

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ