flashで作るhtmlなしでswfのみの縦横サイズ可変フォトギャラリー

このQ&Aのポイント
  • PCのディスプレイサイズによってサイズの変わる、フォトギャラリーをflashで作成する方法について教えてください。
  • CDに置いたswfファイルを使って、ユーザーが環境を問わずにフォトギャラリーを再生できるようにしたいです。また、外部から写真を読み込む必要もありません。
  • 配置する要素は背景画像、写真、前へボタン、次へボタンです。背景画像はディスプレイに合わせて100%で表示し、写真は約50%で表示したいです。ボタンは固定のサイズで下から30pxの位置に配置する予定です。
回答を見る
  • ベストアンサー

flashで作るhtmlなしでswfのみの縦横サイズ可変フォトギャラリー

PCのディスプレイサイズによってサイズの変わる、 フォトギャラリーをflashで作ろうとしています。 CDに置いたswfファイルのみをユーザーに開かせ、ギャラリーを再生させます。 ですので、htmlへのパブリッシュもせず、ネットにつながっていない環境でも再生される、 という仕様にしたいと考えています。 外部から写真を読み込む、ということもしません。 配置する要素としては、背景画像、写真、前へボタン、次へボタンです。 やりたい事としては。 ・背景画像はディスプレイに対して100%で表示。つまり開いたswf自体が100%で表示。 ・写真はディスプレイに対して約50%ぐらいで表示。この写真は縦長の物と横長の物があります。 ・ボタンはサイズ固定でイメージとしては、下から30pxぐらいの位置に配置。 どうしたものか困っています。。 よろしくお願いします。

  • usk99
  • お礼率68% (15/22)
  • Flash
  • 回答数2
  • ありがとう数5

質問者が選んだベストアンサー

  • ベストアンサー
  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.2

#1です。 写真をムービークリップ内の各フレームに配置し たとえば「photo_mc」というインスタンス名を付け その他のインスタンスも図のように配置し それらがあるフレームに次のように書けば良いのではないかと思います。 ------------------------- //ムービー内の拡大縮小なし stage.scaleMode = StageScaleMode.NO_SCALE; //ステージの左上を基準に整列 stage.align = StageAlign.TOP_LEFT; //写真入り「photo_mc」の再生停止 photo_mc.stop(); //インスタンスを配置する関数 arrangeInstance を定義 function arrangeInstance():void{ // //---背景の「back_mc」に関して--- //xy座標を0にする back_mc.x=back_mc.y=0; //横幅をステージ幅に合わせる back_mc.width = stage.stageWidth; //高さをステージ高に合わせる back_mc.height = stage.stageHeight; // //---写真入り「photo_mc」に関して--- //縦横比を求める var hpw:Number = photo_mc.height/photo_mc.width; //横幅をステージ幅の半分にする photo_mc.width = stage.stageWidth/2; //高さをその比に合わせる photo_mc.height = photo_mc.width*hpw; //x座標をステージ中央にする photo_mc.x = stage.stageWidth/2; // //---ボタン「prev_btn」に関して--- //x座標をステージ中央より60px左にする prev_btn.x = stage.stageWidth/2-60; //y座標をステージ下より30px上にする prev_btn.y = stage.stageHeight-30; // //---ボタン「next_btn」に関して--- //x座標をステージ中央より60px右にする next_btn.x = stage.stageWidth/2+60; //y座標をステージ下より30px上にする next_btn.y = stage.stageHeight-30; } //関数 arrangeInstance を実行 arrangeInstance(); //リサイズしたときに関数 sizeChange を実行するリスナーを登録 stage.addEventListener(Event.RESIZE, sizeChange); //関数 sizeChange を定義 function sizeChange(evt:Event):void { //関数 arrangeInstance を実行 arrangeInstance(); } //「prev_btn」にクリックでprevClickを実行するリスナーを登録 prev_btn.addEventListener(MouseEvent.CLICK,prevClick); //関数 prevClick の定義 function prevClick(evt:MouseEvent):void{ //写真入り「photo_mc」内を前のフレームに戻して停止 photo_mc.prevFrame(); } //「next_btn」にクリックでnextClickを実行するリスナーを登録 next_btn.addEventListener(MouseEvent.CLICK,nextClick); //関数 nextClick の定義 function nextClick(evt:MouseEvent):void{ // 写真入り「photo_mc」内を次のフレームに戻して停止 photo_mc.nextFrame(); } ------------------------- なおSWFはHTMLに縦横100%で貼り付けること。 (パブリッシュ設定でHTMLタブを選択して サイズ を パーセント にして 幅:100% 高さ:100% にするとか) 以上で回答字数制限ほとんどいっぱいです

usk99
質問者

お礼

大変ご丁寧に書いていただきありがとうございます! 感謝いたします! ここまでは教えていただいた通りにし、 作ることができました! ですがひとつ重要なことを書き忘れておりました。。 あつかましいのですが追記させていただきます。 写真なのですが、ギザギザになってしまうのをキレイにできないでしょうか? 人物写真ですのでどうにかできないものかと。。 あとこれは僕の作り方がおかしいのかもしれませんが、 2枚目以降の写真を表示した状態で、ウインドウをマウスでドラッグして 拡大縮小すると写真が元の大きいサイズになってしまい、 ボタンが隠れてしまいます。 その状態からブラウザを更新すると正しいサイズで表示されます。 何卒何卒よろしくお願いします!

その他の回答 (1)

  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.1

> CDに置いたswfファイルのみをユーザーに開かせ、 > ギャラリーを再生させます。 それ自体が普通無理でしょう。 SWFなんて普通は(極一般的なPCユーザは)開けませんよ。 開けるとしたら, ブラウザ用の Flash Player(いわゆるプラグイン) をブラウザにインストールしていて, なおかつ, そのブラウザでSWFを開く場合です。 SWF を単独で開けるのは, Flash 作成ツール(Flash CS4 や CS3 や 8 や MX 2004 や MX など)を持っていて, スタンドアローン用の Flash Player もしくはデバッグ用の スタンドアローン Flash Player を持っているからですよ。 まずそこを自覚してください。 普通の人はそんなもの(スタンドアローンFlash Player)など持っていないので, いわゆる一般的な Flash Player(ブラウザのプラグイン)で開くしかありません。 したがって,ブラウザのプラグインで開くのであれば,HTML に貼り付けるのが普通です。 またそうでないと SWF を単独でブラウザで開けない場合もあります。 > htmlへのパブリッシュもせず、ネットにつながっていない環境でも再生される、 それだったら, SWF ではなくて プロジェクタ をパブリッシュすべきでしょう。 プロジェクタとは, Windows の場合は EXE で,Mac の場合は HQX でパブリッシュされる実行ファイルのことです。 ファイル→パブリッシュ設定 で「形式」タブを選択して, Windowsプロジェクタ or Macintoshプロジェクタ にチェックを入れてパブリッシュすると, SWF と同時に プロジェクタ もパブリッシュされます。 それを CD などに入れて配布すべきです。 > やりたい事としては。… それは HTML に貼り付けた場合とどこが変わるのでしょうか? 私にはその違いがわかりません(違う部分は違うかもしれないが違いが1つに特定できない。)。 また…, これは最初に書くべき事項なのですが, 「バージョンを全く書かれていません!」 よ。 これじゃぁ,したいことがわかったとしても回答のしようがありません。 「バージョン」とは, Flash 作成ツールのバージョン,ActionScript のバージョン です。 バージョンが1つ違えば全く別世界的なことが Flash ではざらに起こりますから, 何が何でも最も重要な物は「バージョン」です。 ※ご質問は CD であるので  自動的に 携帯 は除外されますが  それも絡んでくると,  パブリッシュする Flash Player のバージョンや  Flash Lite のバージョンも必要になります。  とにかく「大前提の条件」がわからなければ,  ActionScript 1行たりとも,  また  線の描画1本たりともできないのです。  そういう「大前提」をまずキッチリ押さえてください。  簡単に言えば自分が見ている物が全てと思わない方が良いです。  自分が見ている物は特殊な立場の特殊な条件が成り立った場合だけ  言えることだと思った方が良いです。

usk99
質問者

お礼

諸々説明不足で失礼しました。。 > SWFなんて普通は(極一般的なPCユーザは)開けませんよ。 知りませんでした。。htmlに貼り付けようと思います。。 swfだけにしようとした理由は、なるべくファイル数を少なくして ユーザーに分かりやすくするためでした。 バージョンも抜けてまして、すみません。。 ActionScript3 Flash Player9 を考えています。 その他制作環境は、 Win XP Flash CS3 です。

関連するQ&A

  • Windowsフォトギャラリーについて

    Windowsフォトギャラリーについて 写真を再生すると全画面表示され、 実際のサイズで再生するには写真一枚ごとにワンクリック手間が生じます。 常に「実際のサイズ」で表示させる方法はありますか? ご存知の方、教えてくださいませ。

  • フォトギャラリー

    Windowsフォトギャラリーのサムネイルヲクリックして、大きな画面で表示させた時、背景に色がついて、写真にも色が付く。 本来の色で表示させたい。

  • windows live フォトギャラリーのことで

    デジカメの写真をwindows live フォトギャラリーに取り込んで、プリントする時に日付が印字されません。デジカメで再生した画像には勿論日付は入ってますし、windows live フォトギャラリーに取り込んだ画像にマウスを当てるとちゃんと日付の表示は出るのですが、写真本体には日付が印字されません。どうしてでしょうか?どなたか、ご教示お願いします。

  • ウィンドウズフォトギャラリーでサイズ(大きさ)が大きいと表示されないの

    ウィンドウズフォトギャラリーでサイズ(大きさ)が大きいと表示されないので すがビスタ32Bitだと最大どれぐらいまで表示可能なのでしょうか? あと64Bitだとやはりさらに大きい画像が表示可能なのですか?

  • Windowsフォトギャラリーで印刷できない

    ピクチャーに保存している写真を印刷したくて、Windowsフォトギャラリーの「画像の印刷」を開くのですが、用紙サイズを変更すると 「印刷」ボタンが押せません。「キャンセル」のみ押せる状態になっています。 どうしたら、ピクチャーにある写真を印刷できるのでしょうか? (キングサイズ、L版、A4など) プリンターはEPSONN A820です。

  • Windows フォト ギャラリー

    Windows フォト ギャラリーでスライドショーを再生すると、画像がモニターいっぱいに拡大されてしまいます。拡大させずに、原寸大で表示するにはどうしたらいいのでしょうか?

  • windowsフォトギャラリーの質問です。

    windowsフォトギャラリーにフォルダーを読み込みました。 比較的大容量のホルダーです。 しかるにwindowsフォトギャラリーのフォルダーからは呼び込んだ画像がちゃんと表示されますが、撮影日の方から開きますと見本の画像(山の景色)ばかり表示されて写真が表示されていません。 この見本の画像をクリックすると本来の画像が表示されますがギャラリーに戻るをクリックすると又見本の画像ばかり並んでいます。 昨日取り込んだのは問題なく見えているのですが、今日取り込んだのは駄目でした。 なおこれはデジカメで撮った写真ではなく古い写真をスキャナーから取り込み取り込んだ写真を時系列なするためあるソフトを使って撮影日を当時の日時に設定してあります。 以上どうすれば撮影日の選択肢から表示させられるのか教えて下さい。

  • フォトギャラリーの写真が削除出来ません…

    berokitayo すぐに回答ほしいです フォトギャラリーの写真が削除出来ません… デジカメのMDカードからパソコンに写真画像をコピーしたら、ピクチャーとフォトギャラリーに写真画像がコピーされました。 必要なくなったので削除しようとしましたが、ピクチャーは削除出来たのですが、フォトギャラリーの 写真だけ削除できません。 フォトギャラリーの中の消したい写真だけ削除を選んでも消せないので シャットダウンして再起動しましたが、フォトギャラリーの写真だけ残っています。 どうしたら削除できますか? ちなみにピクチャーは削除した時点でゴミ箱も空にしてしまいました。 XP使用

  • Windowsフォトギャラリーについて

    はじめて質問させて頂きます皆様宜しくお願いします。 現在NECのディスクトップPCにOS Windows Vista Home Premium で使用していますが、Windowsフォトギャラリーの表示の仕方がおかしいので質問させてもらいました。 うまく説明できないかも知れませんが、フォトギャラリーで写真(JPEG)を開いて再生ボタン隣の次に進むボタンを押すと普通その写真の横にある物が表示され押した数だけ進んで行きます しかし、何故か時々(なったりならなかったり)と、言ってもかなりの確率で(2回に1回位)キーボードで押しても画面上のボタンを押しても次にではなくその写真の上にあるものが表示される事があります。 言い直すと横に飛ばす様にボタンを押しても縦方向に写真が表示されます それでこの症状は一度ウィンドを閉じて再度開き直すと改善されるますが、また同じ症状が連続的に起きる事も少なくありません。  この症状が出てもう長いのですが特にエラーが出る訳でも泣くフリーズ等は起きないのでずっと放置して来ました しかし、やはり連続で写真を見たい時や普通に飛ばしたい時等にこの症状が出ると正直鬱陶しいくストレス物で原因も分からず困っています。 何方か何か良い解決方法かアドバイスがあれば是非御教授下さいます様お願い致します。 PS OS以外のPCの簡単な環境です。 CPU インテルCore2Duo 2G メモ2G HDD (外付け合わせて750G) ビデオカード ジーフォース7600GT 以上です。 

  • WindowsLiveフォトギャラリーについて

    WindowsLiveフォトギャラリーをDLして写真の管理に使うのですが DLした時点でWindowsLiveフォトギャラリーの中にもともとVistaの中に入っていた画像の見本等が張り付いています。 これらの写真は邪魔になるのですがWindowsLiveフォトギャラリーの中から 追い出すことは出来るのでしょうか。 ホルダーの削除を実行すると元々のホルダーそのものが削除されてしまいそうです。 よろしく教えてください。