• 締切済み

MovieClip.propertyで設定したメソッドが消えてしまう

お世話になっております。 ステージ上のMovieClip my_mc があるとします。 ActionScriptは以下になります。 MovieClip.property.hogehoge = function(){  trace("hogehogehoge"); } my_mc.onPress = function(){  this.hogehoge(); } 1回目にmy_mcをクリックすると正常に『hogehogehoge』と表示されます。 しかし、クリックを何回かしているうちに何も表示されなくなります。2回目以降の時もあれば、5回目以降の時もあります。 一度表示されなくなると、それ以降は表示されません。 試しに以下のようにトレースしました。 my_mc.onPress = function(){  trace(this.hogehoge);  this.hogehoge(); } 正常に表示される時は『[type Function]』と表示され、表示されなくなると『undefined』になります。 なぜ、undefined になるかがわかりません ご教授のほど宜しくお願い致します。

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

みんなの回答

  • JackB
  • ベストアンサー率33% (107/320)
回答No.1

あなたが別の場所に立てた全く同じ質問に回答がありますよ。ご覧ください。 http://www.flash-jp.com/modules/newbb/viewtopic.php?viewmode=thread&topic_id=5787&forum=6 #質問者がマルチポストというマナー違反を犯しているのに、 それを指摘する書き込みの方が削除されるなんて理不尽だなぁ・・・。

関連するQ&A

  • 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
  • クリック押下中にキーボードを押すとクリックを離したことになってしまう!

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

    • ベストアンサー
    • Flash
  • sendAndLoadで

    多分稚拙な質問です。 phpとの連携でsendAndLoadを利用しようとしてます。 var temp_vars = new LoadVars(); temp_vars.code.text = "tekitou"; temp_vars.sendAndLoad("http://tekitou.jp/tekitou.php", temp_vars, "POST"); temp_vars.onLoad = function() { trace(this.hogehoge); } とするとphpからの返り値hogehogeが取れるのですが、下三行を temp_vars.onLoad = function() { _root.temp_hogehoge = this.hogehoge; } trace(_root.temp_hogehoge); とするとtraceがundefinedになります。単純にphpからの返り値をどこでも使えるグローバル変数に渡したいだけなんですが。 諸々試してはみたのですが、変数スコープの問題なのか、functionの使い方が間違っているのかさえ解らず悩んでいます。ご教授いただければと・・・

    • ベストアンサー
    • Flash
  • MCの中のMCを複製してドラッグ

    mainMCの中にsubMCを置き、それを3つ複製しています。 (subMC_1、subMC_2、subMC_3とします) subMC_1、subMC_2、subMC_3それぞれをドラッグしたいのですが、 subMCのフレームに this.onPress = function() { startDrag(this); }; と書いてみたのですが、ドラッグできませんでした。 何が問題なのでしょうか? this.onPressをthis.onEnterFrameに変えてtraceしたところきちんとtraceされました。

  • actionscript クラスのメンバ変数のアクセスについて

    やりたいことは、 ムービークリップ(move_mc)をある座標まで、 減算処理をしながら移動するということなんですが、 クラスを勉強中で下記のように書いてみました。 ■インスタンス生成&メソッドへアクセス var move1:Move = new Move(5,100); move1.onclick(); ■asファイル class Move{ var speedPro:Number; var rangePro:Number; function Move(speed:Number,range:Number){ this.speedPro = speed; this.rangePro = range; trace(this.speedPro);//ここの値は5がでます } public function moving(){ _root.move_mc.onEnterFrame = function(){ this._x += (this.rangePro - this._x)/this.speedPro; trace(this._x); trace(rangePro);//undefined trace(this.speedPro);//undefined } } public function onclick(){ _root.move_mc.onRelease = moving; } } speedとrangeでスピードの値と移動範囲の値を引数で渡しています。 コンストラクタ関数のところでtraceするとちゃんと値はわたっていますが、moving関数のところではちゃんと値を取れていないようです。 メンバ変数にちゃんととりにいけていないようなのですが、 どのような書き方をしたらとりにいけるのでしょうか。。。 また、根本的にこのような書き方であっているのでしょうか。。。 ご協力お願いします。

    • ベストアンサー
    • Flash
  • MCに設定したonPressを他のMCのASから実行する方法

    WIN XP Pro,FLASH8 Pro,FlashPlayer8の環境で開発しております。 質問です。 MCに設定したonPressを他のMCのASから実行する事は可能でしょうか? ステージ内に無数に配置したMC(インスタンス、インスタンス名共にそれぞれのMC毎に異なる)にonPressにて、ASを記載しておいたのですが、 Functionにしておらず、onPressしないと実行させられないため そのonPressによるASをすべてキーダウンのトリガーに変更させる場合、それぞれすべてのASを書き換える事は困難なので、別のMCからキーダウンをトリガーとして、onPressを実行させたいのです。 解説が解り難くて申し訳御座いませんが、噛み砕いて言いますと onPressと記載したMCを実際にクリックさせる事無く ASによってクリックする事(クリックした事)に出来ないかという事なのです。 ちなみに、MC.onPressの返す値をTraceしてみたのですが、Undefindでした。 MC.onPress=trueやMC.onPress=clickなどとしてもダメでした。 もしご存知の方がいらっしゃいましたら、是非ご教授頂ければ 幸いです。 どうぞ宜しくお願い致します。

    • ベストアンサー
    • Flash
  • onPressに関する質問

    稚拙な質問で恐縮ですが、 1フレームに、image_mcと言うムービークリップを配置、image_mc自体は実体の無いものです。 そこに外部のJPEGを読込んで表示するだけの簡単なScriptなんですが、読込んだJPEG(ムービー)上にマウスを移動させてもマウスの形状が変わらない=「onPress」が活きていないということです。 何が良くないのでしょうか?。 loadMovie("../data/xxx"+"111.jpg", "image_mc") ; image_mc.onPress = function() { trace("on Press") ; }

    • ベストアンサー
    • Flash
  • アクションスクリプト イベントメソッド

    お願いします。教えていただきたいのですが、 root.onKeyDown = function() { trace("キーダウン"); } this.onMouseDown = function() { trace("マウスダウン"); } として実行すると マウスダウン と表示されますが、          キーダウン  は表示されません。 一体なにがいけないんでしょうか? 参考になるURLとかあったら教えてください。

  • ActionScript3.0(アクションスクリプト3.0)でMovieClipインスタンスを配列で生成する方法

    よろしくお願いいたします。 アクションスクリプト3.0において、あるMovieClipクラスから複数のMovieClipインスタンスを作り、それぞれを独立して制御させたい時に、 インスタンスを生成する際、配列でしようとしたのですがエラーとなりうまくいきません。 var my_mc[i]:MovieClip = new MC(); 上記の宣言を繰り返し処理により複数インスタンス生成をしようと思っていました。 MovieClipインスタンスを配列で生成する場合は別の方法があるのでしょうか?それともそもそもできないのでしょうか? また、MovieClipインスタンスをそれぞれ独立して制御させたい場合、別の方法などありますでしょうか? 以上、間違った表現等あるかもしれませんが、よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • 外部ファイルを読み込んだ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

専門家に質問してみよう