• ベストアンサー

ActionScriptで release と releaseOutside の合体記述

FLASHのActionScriptにおいて、 on(release){… と on(releaseOutside){… を合体させると、 on(release, releaseOutside){… ですが、 this.hoge.onRelease = function(){… と this.hoge.onReleaseOutside = function(){… を合体させるとどうなるんでしょうか? かなり初歩的かもしれませんがお詳しい方、よろしくお願いいたします。

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

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

  • ベストアンサー
  • DPE
  • ベストアンサー率85% (666/776)
回答No.1

on*** = function ・・・という書き方は一種の変数のようなものですから、  a = b = 0; と同じ書き方が通用します。 ボタン hoge があるとすると、  hoge.onRelease = hoge.onReleaseOutside = function()  {   ・・・  }; で、release および releaseOutside イベント発生時に同じ処理を行うように定義することができます。 関数を定義して、その名前を代入しても構いません。 例えば関数 Test がどこかで定義されていたとすると、  hoge.onRelease = hoge.onReleaseOutside = Test; としても同じです。

ikataro
質問者

お礼

なるほど! どうもありがとうございました。

関連するQ&A

  • ActionScriptでの繰り返し記述をすっきりまとめたい

    FLASHのActionScriptを勉強中です。 繰り返し同じ様なものを記述する場合、for文か何かを使うと思うのですが、以下の場合はどうすればいいのでしょうか? *プログラムの内容は複数のインスタンスを表示してクリックで順次消えるというものです。インスタンスに記述ではなく、フレームに記述しています。(イベントハンドラメソッド) this.b1.onRelease = function(){ _root.b1._visible = false; }; this.b2.onRelease = function(){ _root.b2._visible = false; }; this.b3.onRelease = function(){ _root.b3._visible = false; };      以下繰り返し… お詳しい方、よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • actionscript

    FLASHを作成してますが、actionscriptでつまずいています。 シーンが1~5まであるFLASHで、 添付の画像のようなものです。 シーン2が 左のメニュー一覧はムービークリップになっていて、 その中にボタンがある状態(入れ子?)です。 ボタンをクリックするとシーン1の先頭に飛ぶようにしたくて on (release) { this._parent._parent.gotoAndStop("シーン 1","1"); } と書きましたがうまくいきません。 詳しい方いましたら教えてください

    • ベストアンサー
    • Flash
  • ActionScript2.0

    actionscript2.0で作成をしている初心者です 今、ドラッグが可能なムービークリップを作成し、 その下の階層にボタンを作成しています。 onClipEvent (enterFrame){ this.onPress = function(){ドラッグ開始} this.onRelease = function(){ドラッグ終了} this.button1.onPress = function(){ボタン押した処理} [現状] ムービークリップをドラッグ不可能にすれば、ボタンを押すことは可能なのですが、ドラッグ可能にするとボタンが押せなくなります。 ムービークリップのドラッグが可能で、かつムービークリップ階層下のボタンを有効にするためにはどうしたらよいでしょうか。 宜しくお願いします

  • actionscript2.0から3.0へ、

    actionscript2.0から3.0へ、 actionscript2.0から3.0へ、 大変申し訳ございませんが、 どなたか書き換えていただけないでしょうか? 情報が足りない場合ご指摘くださいましたら 追記いたします。 flash8にて制作されたFlaをCS4にて修正しています。 3.0がわかるものが出来なくなってしまったので、 こちらに書かせていただきました。 400フレームのものなのですが、1フレームに下記のスクリプトがあります。 btnSkip.onRelease = function() { this._visible = false; gotoAndStop("end"); btnRepeat._visible = true; } 400フレーム目には下記のスクリプトがあります。 stop(); btnRepeat._visible = true; btnSkip._visible = false; btnRepeat.onRelease = function() { gotoAndPlay("start"); this._visible = false; btnSkip._visible = true; } みたところステージには、スキップとリピートのムービークリップがあります。 スキップをクリックすると、400フレーム目に飛んでストップ、リピートを押すと1フレーム目に戻って再生、という動作です。 修正前(2.0)は正常に動作していました。 これを3.0に書き換えていただきたいのです。 大変恐縮なのですが、大至急直さないといけないのです。。 よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • [Flash]actionscript2.0を用いて歯車を作りたいのですが

    Adobe FLASH CS2を使い2つのかみ合った歯車を制作しています。 ドラッグで片方の歯車を回転させると もう片方の方は逆回転になるはずですが、 うまいことactionscriptをかくことができません。 片方はこのようなactionscriptを使っているのですが うまい作り方はないでしょうか。 よろしくおねがいします。 on (press) { //このMCの基準点からのマウス座標を取得 rx0 = _root._xmouse-this._x; ry0 = _root._ymouse-this._y; //このMCの基準点とマウスとの距離を算出 td0 = Math.sqrt(rx0*rx0+ry0*ry0); //マウスによる回転の差分を算出 tr0 = (Math.PI/2+Math.atan2(ry0, rx0))*180/Math.PI-this._rotation; //onEnterFrame を定義 this.onEnterFrame = function() { //現在のMCの基準点からのマウス座標を取得 rx1 = _root._xmouse-this._x; ry1 = _root._ymouse-this._y; //このMCの回転を計算 this._rotation = (Math.PI/2+Math.atan2(ry1, rx1))*180/Math.PI-tr0; //このMCの移動を計算 }; } on (release, releaseOutside) { //この onEnterFrame を削除 delete this.onEnterFrame; }

  • actionscript の記述

    ホームページを制作中です。 同サイズの、それぞれにリンク(getURL)をactionscriptで指定してあるフラッシュがいくつかあります。ページ上の表示場所は同じで、そのフラッシュが順次表示される、というものをactionscriptで記述したいと思っているのですが、方法がわかりません。 お分かりになる方、教えていただけませんか? 宜しくです。

  • Actionscript3.0の記述場所について

    Flash、Actionscript3.0独学の者です。 シーンを分けてFlashコンテンツを作成しているのですが、 全シーンに使う関数はどこに記述したらよいのでしょうか。 全シーンの1フレーム目に書いたら関数の定義が重複してしまいます。 初歩的な質問ですみませんが、よろしくお願いいたします。 ■開発環境 ・windows7 professional 64bit :・Adobe Flash CS6

    • ベストアンサー
    • Flash
  • 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); }; だいたいこのあたりを直せばいいのでしょうか?

  • 外部ファイルを読み込んだ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のクラスの中の書き方について

    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