• 締切済み

スライドバーを用いて画面の拡大/縮小

Loaderに表示した画像の拡大/縮小を スライドバー(MediaControllerの音量ボリューム操作のようなもの) で行いたいのですが、そのようなコンポーネントはないのでしょうか? ない場合、実現するにはどのようにすればよいか教えてください。

  • Flash
  • 回答数1
  • ありがとう数4

みんなの回答

noname#35109
noname#35109
回答No.1

Flash の コンポーネントはバージョンによって著しく違います。 普通のご質問の場合もそうですが, コンポーネントに関するご質問の場合は, お使いのバージョンを書かれた方が良いです。 しかし, Loaderに表示した画像の拡大/縮小させるようなコンポーネントは私は知りません。 ひょっとしてあるのかもしれませんが, 私はコンポーネント嫌いなのもので,あっても知りません。 いつもは,なるべくしくみを自作で作ります。 自分で作ったものでないとカスタマイズが好きなようにできませんから。 Loader と書かれているところから考えると, 外部JPEGを読み込むのでしょうか? コンポーネントは本来外部ファイルを読み込むためものではないので, その辺もよくわかりませんが, 勝手に外部JPEGを読み込むものとして, その作り方の一例を書きます。 作り方やスクリプトは作るたびに考えるので,いつも違います。 一例だと思ってください。 /////////////////////////////////////////////////////////// ◎ まず読み込む場所(ムービークリップ)の準備 「挿入」メニューから「新規シンボル」を選択して,空のムービークリップを 作成すします。 するとなぜか,空のムービークリップ内のタイムラインの編集に自動的に入ってしまいます。 空のムービークリップ内はさわる必要はないので, 「編集」→「ドキュメントの編集」で,メインムービーの編集に戻ります。 そして,「ライブラリウインドウ」 から今作成した空のムービークリップをドラッグして,ステージの上に置きます。 ステージの中央くらいが良いのではないでしょうか。 そのステージ上のムービークリップにインスタンス名を付けます。 この説明では,「ko_img」 というインスタンス名にしておきます。 その「ko_img」 を選択して,下のアクションパネルに次のように書きます。 ------------------------------------- // ムービークリップがロードされたとき onClipEvent (load) { // 座標の初期化 this._x = 0; this._y = 0; // 幅や高さの半分だけ左上に移動 this._x -= this._width/2; this._y -= this._height/2; } ------------------------------------- この「ko_img」 を選択して, 右クリック→「シンボルに変換」より,さらにムービークリップに変換します。 ムービークリップを2重に入れ子状態にするのです。 そして,新しくできたこのムービークリップにもインスタンス名を付けます。 ここでは,「oya_img」というインスタンス名にしておきます。 親の中に子がいる状態で,子にスクリプトが書いてある状態です。 ◎ 次にスライドバー(ムービークリップ)の準備 一応勝手に,横スライドするバーの例です。 高さ10~20px,幅50~100px くらいの塗りの長方形をステージ上に描きます。 ステージ真ん中の下の方が良いと思います。 もしくは,ステージ真ん中の上の方です。 その長方形を選択して,右クリック→「シンボルに変換」でムービークリップにします。 その長方形ムービークリップに次のようなスクリプトを書いてパブリッシュすれば, 一応しくみは完成です。 ----------------------------------------------- // このバーMCが表示されたとき onClipEvent (load) { // ムービークリップko_img にJPEGをロード(★可変) _parent.oya_img.ko_img.loadMovie("image1.jpg"); // このバーの動く幅の設定(★可変) var scroll_w = 120; // 拡大・縮小率の設定(★可変) var mag = 1.5; // このバーの初期位置を記録 var bar_x = this._x; var bar_y = this._y; } on (press) { // バーをドラッグで左右にスライドさせる this.startDrag(false, bar_x-scroll_w, bar_y, bar_x+scroll_w, bar_y); } on (release) { // ドラッグを停止 this.stopDrag(); } onClipEvent (mouseMove) { // バーの位置に従って ムービークリップimg を拡大縮小 var scale = (this._x-bar_x)*(mag-1)/scroll_w*100+100; _parent.oya_img._xscale = _parent.oya_img._yscale=scale; // 表示を更新 updateAfterEvent(); } ----------------------------------------------- (★可変) と書いてある3箇所だけを変えるだけで良いです。 また, ターゲットパスにはあえて全て相対パスを使っていますから, 空の 「oya_img と ko_img」 と バーのムービークリップを1つのムービークリップにさらに変換しても大丈夫です。 そうすると,コンポーネントのようにセットで持ち運び(別のファイルで使い回し)もできます。 どうやって,外部ファイルをロードするのかわからなかったので, 勝手にバーに「image1.jpg」をロードするように書きました。 外部にボタンを作って, そのボタンにロードするスクリプトを書いても良いと思います。 ---例------------------------------------ on (release) { // ko_img に 「img2.jpg」をロード _root.oya_img.ko_img.loadMovie("img2.jpg"); } ----------------------------------------- 読み込む 「oya_img と ko_img」を入れ子状にしたのは, JPEG を拡大するポイントを読み込まれたJPEGの中心にしたかったからです。 こうすると, 「oya_img」の基準点が JPEG の中心に来ます。 拡大・縮小・回転などの基準は,ムービークリップの基準点が中心になるためです。 そんな必要がなければ, 「oya_img と ko_img」のように入れ子にせず, 「oya_img」だけにして,その「oya_img」にJPEGをロードしても良いです。 その場合,「oya_img」にはスクリプトを書く必要もありません。 バーだけのスクリプトになります。 読み込む 「oya_img と ko_img」や,バーの位置を色々変えてもらうとわかると思いますが, もし既存のコンポーネントにこのようなものがあったとしても, 読み込む座標どこに持っていくとか, 拡大の中心座標をどこに持っていくとか, そこまで色々自由にできないと思います。 それに,バーの色や形も自由です。 何でしたら,ドラえもんの形のスライドバーでも良いわけです。 既存のコンポーネントを使うとそれ独自のパラメータなどの書き方も,調べる必要が出てきて面倒です。 これくらいなら, しくみを自作する方が良いとは思います。 だいたい以上です。 ここまで書いて気付きました。 最後になりましたが,コンポーネントという言葉をお使いのところから考えて, Flash MX 以上をお使いだと推測しました。 上記バーなどのスクリプトは, Flash MX 以上,Flash Player 6 以上で使用できます。 と言っても, on (press) {} など,onイベントハンドラが Flash 5 ではムービークリップに使えないだけのことで, そこを変えれば内容自体は,Flash 5 でも通じます。

dhidhi
質問者

お礼

わかりづらい質問にここまで答えてくださってありがとうございます。 FLASHのバージョンは8です。 今後質問するときは気をつけます。 したいことは、sassakunさんの推測に一致しています。 今から教えていただいた内容を実装していきます。 またわからないことがあれば質問させてください。 取り急ぎお礼まで。 ありがとうございます。

関連するQ&A

  • 画面の拡大縮小について

    以前は画像を表示すると右下に拡大縮小が出来るアイコンが出たのですが(PCど素人の私がヘンな操作をしてしまったのだと思いますが) どこかへ行ってしまって全然でなくなりました(泣!)どなたかこれの戻し方をご存知でしたら是非お教えくださいませんでしょうか? お願いいたします。なおOSはWin98SEです。

  • 画面の縮小と拡大

    すべての操作をキーボードで済ませよう!その時は脱初心者だと思っている者です。 ウィンドウの縮小と拡大をキーボードですませるにはどのキーを押すとよいのでしょうか?

  • 【α5100】画像再生で拡大・縮小する方法

    先日α5100のパワーズームレンズキットを新品で購入しました。 「メニュー→再生→拡大」の画面で、画像の拡大・縮小がしたいのですが、 公式ヘルプにある >拡大したい画像を表示して、T側にW/T(ズーム)レバーを動かす。 >拡大しすぎた場合は、W側にW/T(ズーム)レバーを動かして倍率を調整してください。 この操作をしても拡大・縮小されません。 最初の拡大表示の倍率のまま固定されて、見たいポイントの移動の操作しか出来ません。 どうすればよいのでしょうか。 ご教授願います。 ※OKWAVEより補足:「ソニー製品」についての質問です。

  • 特定オブジェクトの拡大

    HTML中の全体ではない特定の部分(ボタンなどのオブジェクトで、特定の矩形内ではない)のみ拡大縮小表示、しかも数値 X% を指定して行うことは可能ですか? いくつかのブラウザでCtrlと+キー等で画面全体を拡大できますが、あのように、拡大された文字や画像は水平スライドバー出現させることなく指定された構造内にきれいに収まるように拡大させたいです。 最終的にはWEBページにフローティングウインドウのようなものを複数表示し、それを自由に配置、また、拡大縮小をウインドウ内のものが全て表示される範囲でマウスで操作できるようにしたいです。この時可能なら縦横比も自由に変更できるようにしたいです。

  • safari の「拡大・縮小」をマウス操作で

    mac のsafariの拡大。縮小(Command + +/- ) をマウス操作で行いたいのですが、何か良い方法はありませんでしょうか( firefox で CTRL + マウスホイール で拡大・縮小ができるのと同じこと=Command+ +/- ショートカット をマウス操作で行いたい)。プラグインや、ユーティリティをインストールして実現できたらいいのですが。 OS: Yosemite Safari 8.0.5 宜しくお願いします

    • 締切済み
    • Mac
  • フォントの拡大縮小に関して

    現在ホームページを作成しておりますが、基本的なフォントサイズを2にしています。 よく他のページを見ていると、大・中・小のボタンがあり、フォントサイズを大きくしたり、 小さくしたりできるページを見ます。 初心者のため、現在は、全くスタイルシートとか使わずページを作成しているのですが、 上記のようなボタンでのフォントの拡大縮小はできないのでしょうか。 ユーザーにブラウザの操作(メニュー→表示→文字の大きさの拡大縮小)をさせることなく、文字の拡大縮小をさせたいと思っています。 やり方やコード等がわかる方、教えて下さい。

    • ベストアンサー
    • HTML
  • 画面が勝手に拡大や縮小をしてしまう

    勝手に拡大、縮小してしまう バイオVPCL239FJ/B  Windows7です インターネットの画面が何も操作していないのに勝手に拡大や縮小をしてしまう 購入したころに同じような症状が有りました。当時は画面の周りに貼ってあったセロファンの 静電気のせいだったようで、はがしてからは正常でした。 ※OKWaveより補足:「ソニー製品」についての質問です。

  • ホームページビルダーの画面の拡大縮小はできますか

    ホームページビルダー 8 を使用しています。 「編集」画面の中を拡大縮小できるでしょうか? 縦に長いページを作っているときなど、一度全体を縮小して配置を確認したりする場合などに利用したいので質問しました。 できるとしたら、その操作方法を教えてください。

  • 画像の拡大、縮小

    HPの画像の上にマウスを置いてクイックすると画像が拡大されたり縮小されたり(四方に拡がるようなアイコンが表示)できる設定を教えてください。ソフトはホームページビルダー6です。

  • スライドバーを使って画像を変える

    つい先日ActionScriptを使ってFLASHを作らなければならなくなりました。FLASH自体触ったことがないので、知恵を拝借したく質問させていただきます。 作りたいのは、スライドバー二つを用いて画像を変えるFLASHです。 スライドバーAとBを用意し、それぞれバーを動かすと値が1~10まで変化します。例えば、スライドバーAの値が1、Bの値が1のときは画像1-1を表示して、スライドバーAの値が4、Bの値が8のときは画像4-8を表示するというような感じです。 ネットなどで調べて、スライドバーを動かしてその位置に対応した値の取得は出来るようになったのですが、その値を用いてどのように画像を表示させれば良いのかが分かりません。説明がわかりにくいかもしれませんがどうかよろしくお願いします。

    • ベストアンサー
    • Flash

専門家に質問してみよう