はじまして、flashスクリプト初心者です。
頼まれて、フォトギャラリーを作っています。
写真を外部読み込みで、左にサムネイル、右に表示画像
というような設計になっています。
以下のサイトを参考に、ここまではできましたが、
http://www.webdesignworkshop.net/workshop/load_p …
表示画像が縦(600*400)のものと横(400*600)のものがあるため、
読み込みmcは600*600pxの正方形にしました。
すると読み込んだ画像がどうしても左上によってしまい、
mcに読み込んだ外部ファイルのセンタリングはできないものかと、悩んでおります。
いろいろ検索かけてみましたが見当たらず、どうか、宜しくお願い致します。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
読み込み位置の問題でしょうね。
確かJPEGなんかの画像は左上が(0,0)のはずですから、逆算してセンターの位置に来る様に読み込ませれば良い訳です。
画像ファイルの(0,0)の位置を変える方法は無かった気がします…あったかな…?
面倒なら画像ごと中央が(0,0)のswfにしちゃえば解決しますね。
何も必ずしもJPEGのまま読み込まなければいけない訳じゃないのですし。
早速のご回答どうもありがとうございます。
>読み込み位置の問題でしょうね。
確かJPEGなんかの画像は左上が(0,0)のはずですから、逆算してセンターの位置に来る様に読み込ませれば良い訳です。
全部縦(600*400)の画像だったらいいのですが、横(400*600)のものがあるため、こっちは画面カツカツなため(表示領域600*600)、mcの読み込み位置をずらすのはキビシいのです....
>面倒なら画像ごと中央が(0,0)のswfにしちゃえば解決しますね。
何も必ずしもJPEGのまま読み込まなければいけない訳じゃないのですし。
ありがとうございます。
やってみます。でも一つ問題が...画像が何百枚もあって、
タイムラインに読み込む方法もこの枚数で諦めました....
縦のものと横のもの、読み込みMCを分けた方がいいのでしょうか。
No.2
- 回答日時:
>でも一つ問題が...画像が何百枚もあって
なるほど。MCを分けるにせよswfを作るにせよそれは手間ですね(苦笑)。
じゃあ、いっそのこと画像の方を変えちゃったらどうでしょう?
PhotoShopがあることが前提ですが、バッチ処理で600×600の画像に一括変換しちゃうわけです。
読み込み>カンバスを指定サイズに拡大>Web用に書き出し
といった流れでバッチを作ってしまえばいけるかと。
全てが600×600の画像になるので多少重くはなりますが、頼まれ仕事ならそれもありかと。
わざわざお返事いただきありがとうございます!
flash上で縦横比をかえてしまうということですね。
もしくはバックと同じ色をつけて600*600でjpgで写真を中央表示にしてバッヂ処理...も
頭の運動になります...
試してみます。ほんとうにありがとうございます!
No.3
- 回答日時:
JPEGをロードしてみない限りは,
FlashはJPEGのサイズを認識できませんよね。
ですから,
とりあえずJPEGをロードしてみて,
縦横サイズを確認して,
サイズに応じた座標にムービークリップを移動させる
ということになります。
これには FlashMX2004 以降では,
loadMovie でロードするのではなく
MovieClipLoader.loadClip でJPEGをロードして,
MovieClipLoaderのリスナー.onLoadInit でロード完了を待って,
JPEGのサイズに応じた座標にムービークリップを移動させる
ということをするのが一般的かもしれません。
しかし,
別にこのような新しめの方法を取らなくても,
古くからある(Flash5からある)方法で簡単にできます。
ご質問で書かれていらっしゃるURLのFLAサンプルの場合,
_root にある「target_mc」というインスタンス名のムービークリップにメインのJPEGを表示させるようですが,
その「target_mc」というインスタンス名のムービークリップを選択した状態で,
アクションパネルを表示させ,
ムービークリップ自体に次のように書けばできます。
// このMC(ムービークリップ)がロードされたときに実行
onClipEvent (load) {
// 中心にしたいx座標を指定(例:ステージ中央より20px右)
center_x = Stage.width/2+20;
// 中心にしたいy座標を指定(例:ステージ中央より30px上)
center_y = Stage.height/2-30;
// このMCのx座標を
// 指定した中心座標よりMCの幅の半分だけ左に移動
this._x = center_x-this._width/2;
// このMCのy座標を
// 指定した中心座標より MCの高さの半分だけ上に移動
this._y = center_y-this._height/2;
}
onClipEvent (load) {}
はそれ自身が表示されたときも,
またそれ自身に何かのムービーや画像がロードされたときにも実行されるハンドラです。
※フレームには書けません。ムービークリップ自体にのみ書けます。
Stage.width でステージの幅が自動取得できます。
Stage.width/2 だとステージの幅の半分ですから,ステージの中央座標ということになります。
Stage.height に関しても同様です。
※Stage.width や Stage.height は MX 以降で使えます。
this._width でムービークリップの幅が自動取得できます。
this._width/2 だとムービークリップの幅の半分ですから,中心にしたい座標の差が求められます。
this._height に関しても同様です。
図示しにくいのですがこんな感じです↓。
======ステージの中央を中心にしたい場合=========
←────── ステージ──────→
Stage.width/2 Stage.width/2
┣━━━━━━━━╋━━━━━━━━┫
←───ムービークリップ───→
this._width/2 this._width/2
├──────┼──────┤
↑
Stage.width/2-this._width/2
==========================================
ご回答どうもありがとうございます!
丁寧におしえていただき、大変助かりました。
ムービークリップの中心にしたい座標を指定できるのですね。
苦戦の末、これで中央配置できました!
多少混乱気味ですが、がんばって理解します!
>onClipEvent (load) {}
はそれ自身が表示されたときも,
またそれ自身に何かのムービーや画像がロードされたときにも実行されるハンドラです。
※フレームには書けません。ムービークリップ自体にのみ書けます。
それ自身が表示されたときも,またそれ自身に何かのムービーや画像がロードされたときにも....便利なような複雑なような....ありがとうございます。
今回は左にサムネイルがあるため、ステージに対して中央配置でなかったため苦戦しました。
ムービークリップの中心にしたい座標を指定できるということで、大変勉強になりました、本当にどうもありがとうございます!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS トリミングで表示した画像をクリックで元どおりにしたい 3 2022/12/16 18:49
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
- アプリ MacBookでCLIP STUDIO PAINTから「写真」アプリを開いて、画像を読み込みたい 1 2023/08/05 12:34
- JavaScript 読み込んだQRコードをフォームに受け渡したい 1 2023/05/18 11:18
- Web・クリエイティブ 【 3DCGソフト⠀MAYAについての質問 】 MAYAでビューからイメージプレーンを読み込むと、ビ 1 2023/07/09 02:50
- Photoshop(フォトショップ) photoshop ドキュメントを読み込み中…から10日経ちます。 1 2022/12/13 17:25
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- 画像編集・動画編集・音楽編集 Google Earth Pro 高速道路上空を一定の速度で飛ぶツアー動画の作り方は?? 1 2022/06/01 15:10
- Excel(エクセル) エクセルでSUMIFS関数で条件範囲の部分が#valueになる。 4 2023/04/28 12:42
- WordPress(ワードプレス) ホームページの画像が入れ替わらない 3 2022/12/24 16:00
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「.movpkg」「.m3u8」ファイル...
-
グーグルスプレッドシートで他...
-
YahooのIDがロックされてしまい...
-
jtrim 1.53cが正常な動きをし...
-
gimpで文字の細工をしたい
-
GIMP2で背景透過の色判定を設定...
-
ゆうちょ認証アプリが使えません
-
ITの見積もりってなんであんな...
-
アドビの値上げについて
-
クリスタルディスクインフォは...
-
GIMP2で作成した凹み文字を移動...
-
PDFファイルを開きたいので...
-
音楽ファイルをリネームしよう...
-
CMYKのペイントソフトを探して...
-
iTunesを完全にアンインストー...
-
CAE
-
住所もしくは緯度経度で道のり...
-
Bluerayディスクのオーサリング...
-
キャンバで作った自分のポスタ...
-
Premiere Proで書き出し速度を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ITの見積もりってなんであんな...
-
YahooのIDがロックされてしまい...
-
「.movpkg」「.m3u8」ファイル...
-
ゆうちょ認証アプリが使えません
-
jtrim 1.53cが正常な動きをし...
-
ATOKをお使いの方、今後もVer U...
-
CMYKのペイントソフトを探して...
-
グーグルクロムにダウンロード...
-
ホームページビルダーのバージ...
-
自分で描いた下手な絵を綺麗に...
-
パソコンでJPEG画像ファイルを...
-
マックの表計算ソフト
-
Numbersについてお伺いです。 ...
-
写真の印刷レイアウトについて
-
STEAM版BF4が起動しない
-
フォルダ内にある全ファイルの...
-
gimpで文字の細工をしたい
-
新バージョンPDFでのスナップシ...
-
Windows 11 に対応する作業
-
先日からDigiBestTVで「デバイ...
おすすめ情報