• 締切済み

FLASHフォトアルバムの画像を外部から読み込み

先日、クライアントから『FLASHで作ったフォトアルバムの画像読み込み方法を変えたい』とswfファイルだけが送られてきました。 他の会社が作ったらしいのですが、全然データや構造を教えてもらえない状態で困っています。 またFLASHが使える人間がほぼ全員休みを取っており、私は恥ずかしながら、FLASHなどさわった事がなく、 ほとんどActionscriptが読めません。 下記にスクリプトを貼付けてみます どのあたりで画像を読み込んでいるのかわかりますか? 画像フォルダの階層もよくわからなくて... frame 1 { this.pic_base.attachMovie('pic_load', 'pic', 1, {'pic_number': pic_number}); this.pic_base.onPress = function () { _root.msqMoveOn(this._parent); }; this.pic_base.onRelease = function () { _root.dsqOnClick(this._parent); }; this.pic_base.onReleaseOutside = function () { _root.dsqMoveOff(this._parent); }; frame 1 { this.pic_base.loadMovie(_root.ThumImageDir + _root.ph_year + _root.ph_item2 + this.pic_number + '.jpg'); pic_num = int(this.pic_number); } frame 1 { this.pic_base.attachMovie('pic_load', 'pic', 1, {'pic_number': pic_number}); this.pic_base.onPress = function () { this.mc_target = _root.dsqMoveOn(id); }; this.pic_base.onRelease = function () { _root.dsqOnClick(this.mc_target); }; this.pic_base.onReleaseOutside = function () { _root.dsqMoveOff(this.mc_target); }; だいたいこのあたりを直せばいいのでしょうか?

  • Flash
  • 回答数2
  • ありがとう数0

みんなの回答

回答No.2

こんにちは kasuchさんが言っているように、確かにloadMovieのところだと思います。 が、swfだけだと内容をいじることがそもそも出来ないのでは・・・_| ̄|○

  • kasuch
  • ベストアンサー率0% (0/0)
回答No.1

>『どのあたりで画像を読み込んでいるのかわかりますか? どのように読み込み方法を変えたいのかわかりませんが、単に画像を読み込む処理を探しているのであればこの部分だと思います。 this.pic_base.loadMovie(_root.ThumImageDir + _root.ph_year + _root.ph_item2 + this.pic_number + '.jpg'); ここの()の中身は読み込む画像のURL(文字列で指定)が入ります。 中身を変えたいのであれば、当然ディレクトリ構造も把握しておかなくてはいけません。

参考URL:
http://www.fumiononaka.com/TechNotes/Flash/FN0307007.html

関連するQ&A

  • 外部ファイルを読み込んだMCをドラッグ&ドロップしたいんですが?

    flash(swf)で外部ファイルを読み込んだムービークリップ(MC)をドラッグ&ドロップで移動できるようにしたいんですが、どのようにすればできるでしょうか? 通常のライブラリなどに登録して表示させているMC(インスタンス名:photoL)は以下のようなASで処理できるんですが、外部ファイルを読み込んだMC(インスタンス名:photoF)では同じ書き方をしても表示はするんですが、ドラッグ&ドロップで移動できません。 --------------------------------------------------- photoF.loadMovie("test.jpg"); photoL.onPress = function(){ this.startDrag(false,v_leftLock,v_topLock,v_rightLock,v_bottomLock); }; photoL.onRelease = function(){ this.stopDrag(); }; photoL.onReleaseOutside = function(){ this.stopDrag(); }; photoF.onPress = function(){ this.startDrag(false,v_leftLock,v_topLock,v_rightLock,v_bottomLock); }; photoF.onRelease = function(){ this.stopDrag(); }; photoF.onReleaseOutside = function(){ this.stopDrag(); };

    • ベストアンサー
    • Flash
  • ActionScript2.0のイベントについて

    親ムービークリップに配置した子ムービークリップのイベントが実行されなくて困っています。 親ムービークリップ自体には下記のイベントを設定しています。親ムービークリップはattachMovieで動的に配置しています。 onRollOver・・・onEnterFrameを設定 onRollOut・・・onEnterFrameを削除 子ムービークリップを配置して子ムービークリックにイベントを設定しました。onEnterFrameをは実行されますが、onReleaseが実行されず困っています。 function Parent() { this.onRollOver = function() { this.onEnterFrame = function(){・・・} } this.onRollOut = function(){ delete this.onEnterFrame; } this["child_mc"].onRelease = function() { trace('a') // 実行されない } this["child_mc"].onEnterFrame = function() { trace('b') // 実行される } } ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ _root.attachMovie("Parent", "parent_mc", _root.getNextHighestDepth(), new Parent()); 子ムービークリップはオーサリングで静的にParentに配置し、プロパティでchild_mcと設定しています。 onReleaseは実行できず、そこで止まっています。 なんでも良いので教えてください。

    • ベストアンサー
    • Flash
  • Flash、外部ファイルの読み込みとスムージングに関して質問させていた

    Flash、外部ファイルの読み込みとスムージングに関して質問させていただきます。 CS4、AS2.0を使用させていただいております。 ボタンが3つあり、それぞれのボタン(nav1_btn、nav2_btn、nav3_btn)を押した際に2階層上のtarget_mcというmcにスムージングをかけて(1.jpg、2.jpg、3.jpg)表示させたいのですが、表示できなくかなり悩んでいます。 【今のスクリプト】 var mcl = new MovieClipLoader(); nav1_btn.onRelease = function() { mcl.loadClip("1.jpg", _parent._parent.target_mc); }; nav2_btn.onRelease = function() { mcl.loadClip("2.jpg", _parent._parent.target_mc); }; nav3_btn.onRelease = function() { mcl.loadClip("3.jpg", _parent._parent.target_mc); }; 宜しくお願いいたします。

    • ベストアンサー
    • Flash
  • ドラッグ中の回転を止めたいのですが…

    ドラッグができて,なおかつクリックすると90度回転するようにするため,サンプル集を見てムービークリップ(sikaku_mc)に 次のようなアクションスクリプト(以下AS)を書きました。 もともと解説にあったのですが,これだとドラッグしている最中も 回転してしまいます。クリックすると回転しても ドラッグしているときは回転しないようにするためにはどうすればいいでしょうか。 ちなみにこのASはムービークリップ(sikaku_mc)の編集画面のタイムラインに書き込んだものです。 function onPress() { this.startDrag(false); var xm:Number = this._xmouse; var ym:Number = this._ymouse; this._x = _root._xmouse; this._y = _root._ymouse; sikaku_mc._x -= xm; sikaku_mc._y -= ym; this.onEnterFrame = mawasu; this.onMouseMove = updateStage; } function updateStage() { updateAfterEvent(); } function mawasu() { this._rotation += 90; } this.onRelease = this.onReleaseOutside=stopDragMe; function stopDragMe() { this.stopDrag(); delete this.onEnterFrame; delete this.onMouseMove; } ご教授よろしくお願いします。

    • ベストアンサー
    • Flash
  • Flash着せ替え用アクションスクリプト

    はじめまして。 FlashCS3で、キャラクター(体)にドラックドロップで服を着せられるような"着せ替え"を制作したいと考えています。 現在はキャラクターの体部分にあたるムービークリプ(インスタンス名"target")と服ににあたるムービークリップ(インスタンス名"clothes0")をシーン上に配置し、 "clothes0"内に this.onPress = function () { this.swapDepths(++_root.depth); this.startDrag(); } // this.onRelease = function () { this.stopDrag(); } // this.onMouseMove = function () { updateAfterEvent (); } というスクリプトを書いて、一応ドラックドロップで服だけ動くような感じです。 服の"clothes0"を体である"target"に吸着させる方法をご存じの方がいましたら教えてください! いろいろ検索などして調べたのですがどうもうまくいきません。 参考になりそうなwebサイトなどもありましたら教えていただけると助かります! ちなみにまだアクションスクリプトを触りだしたばかりの詳しくない者です;

  • actionscript2.0でMCの切り替えなど

    Flash初心者で勉強中の身なのですがどうか質問させてください。 根本的に間違っていたりできないことをやろうとしていたら申し訳ないです。。 その際にはこう改変した方がいいとのご指示をご教示頂きたいです。よろしくお願いいたします。 attachMovieを使ってライブラリ内のMCをステージに呼び出し、そのMCを押す度にそのMCを切り替えたいと考えています。 ライブラリにはa1,a2,,,a5、b1,b2,,,,b5,c1,d1,e1…という識別子をつけたMCを用意しています。 a-eの横幅は80×80です。 20ずつ間を空けて○1のMCを横一列に配置しました。 _root.attachMovie("a1", "a1",1, {_x: 100, _y: 100}); _root.attachMovie("b1", "b1",1, {_x: 200, _y: 100}); _root.attachMovie("c1", "c1",1, {_x: 300, _y: 100}); _root.attachMovie("d1", "d1",1, {_x: 400, _y: 100}); _root.attachMovie("e1", "e1",1, {_x: 500, _y: 100}); このMCを押すと、MCが数字の大きいものに切り替わる(b1を押すとb2のMCに…で5まで)ようにしたいので、 ひとつひとつを下記のscriptで記述しました。 _root.attachMovie("b1", "b1",1, {_x: 200, _y: 100}); b1.onPress=function(){ b1.removeMovieClip(); _root.attachMovie("b2", "b2",1, {_x: 200, _y: 100}); b2.onPress=function(){ b2.removeMovieClip(); _root.attachMovie("b3", "b3",1, {_x: 200, _y: 100}); b3.onPress=function(){ b3.removeMovieClip(); _root.attachMovie("b4", "b4",1, {_x: 200, _y: 100}); b4.onPress=function(){ b4.removeMovieClip(); _root.attachMovie("b5", "b5",1, {_x: 200, _y: 100});}}}} これをa-e同じことを繰り返しています。 ここからが問題なのですが、 ここで例えば a2,b5,c1,d3,e1 という風に適当に押されてMCが切り替わり、整列させるボタンが押された時、 その数字を参照して 縦に20pxずつ空けながら b5 (空行/4があった場合の行) d3 a2 c1(20pxの空白)e1 と並べ替えたいと思っています。 つまり、a-eが現在どの数字(○1,○2..)なのかを調べ、その数字の若い方から順に縦に配置させたいと考えています。 また、上のc1,e1のように1の数字のMCが2つ以上あった場合は、同じ行に20pxずつ空けて横に配置していきたいのです。 その調べた数字の順に縦と横に並べ替える(新たにステージ上に配置し直す)というルール付けをどういうscriptを書けば上手く行くかが自分ではどうにも分からず、ここから進めない状態です。。 誰がどんな回数押したとしてもそれに準じた整列をして欲しいのですが、そのやり方があるようでしたらどうかご教示頂きたいです。 また、上記の私の書き方では難しいようでしたらそこから改変したものをお教え願いたいです。 分からないことばかりで申し訳ないのですが、何卒よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • 【FLASH】swapDepthsでMCが増殖する??

    FLASH8(Win-XP)使用者です。 MCを最前面にもってくるために myDepth = _root.getNextHighestDepth() _root.myMC.swapDepths(myDepth); を使っていますが、不審な動作が多いため検証実験をしています。 不審点はフレーム逆行時のみMCが複製されているという点です。 以下が私の実験です。 ■実験■ 2フレームを用意し、タイムラインに以下を書き込みます。 <1フレーム目> this.stop(); myDepth = _root.getNextHighestDepth() _root.box.swapDepths(myDepth); _root.button.onRelease = function(){ _root.nextFrame(); } <2フレーム目> this.stop(); myDepth = _root.getNextHighestDepth() _root.box.swapDepths(myDepth); _root.button.onRelease = function(){ _root.prevFrame(); } ※ _root.box は解りやすくするため半透明なMCにします。 ここで2フレーム→1フレームに戻るときのみ box の色が濃くなっていくのがわかると思います。 どんどん複製されているためだと思います。 なぜ複製されてしまうのでしょうか? また回避策はあるのでしょうか? お詳しい方、よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • attachMovieで同じ深度に新しいmcを生成

    as2.0です。 ライブラリにmc「go_next」があり、ステージには背景のmcがあります。 mc「go_next」はボタンの役割で、クリックすると背景のmcがスライドします。 次々とスライドさせて行きたいので、mc「go_next」をクリックするたびに新しいmcとして入れ替えたいので、attachMovieで同じ深度に生成してみたのですが、上手くいきません。 フレームに以下のように記述しました。 _root.attachMovie("go_next", "go_next_to2", 99); go_next_to2.onRelease = function() { _root.slidePos = 2; _root.attachMovie("go_next", "go_next_to3", 99); } go_next_to3.onRelease = function() { _root.slidePos = 3; _root.attachMovie("go_next", "go_next_to4", 99); } まず"go_next_to2"がステージに生成されています。 "go_next_to2"をクリックすると"go_next_to3"が生成され、"go_next_to2"は消えます。 (ここまでは成功しています。) 次にその"go_next_to3"をクリックして同様に"go_next_to4"に差し替えたいのですが、 "go_next_to3"がクリックできるようになりません。 同じ場所に差し替えたのだから同じ設定で繰り返せばいいかと思ったのですが・・ どうやったら次々と新しいmcに入れ替えていくことができますか? 教えて頂けたら嬉しいです。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • クリック押下中にキーボードを押すとクリックを離したことになってしまう!

    タイトルの通りです。 まずマウスでmc1をクリックと「クリックしている」と表示されるのですが、そのままクリックした状態でなにかのキーを押すと「クリックを離した」とでてしまうのです。 _root.mc1.onPress = function(){ trace("クリックをしている") } _root.mc1.onRelease = function(){ trace("クリックを離した") } クリックを押下し続けている間は「押し続けているのだ」という情報を得る方法はないのでしょうか?

    • ベストアンサー
    • Flash
  • actionscript2のクラスの中の書き方について

    Flash ActionScript2のクラスの中の書き方について悩んでいます。 クラスの中にMcを定義するものですがthis.mct.onPressのところで class testAの中の_move()が実行できません。いろいろ試してみました がうまく実行できませんでした。なにかいいやり方はないでしょうか? よろしくお願いします。 class testA{  var mct:MovieClip;  function testA(mct:MovieClip){   this.mct = mct;   this.mct.onPress = function(){    _parent._move();   }  }  function _move(){    this.mct.onEnterFrame = function(){   }  } }

    • ベストアンサー
    • Flash

専門家に質問してみよう