• ベストアンサー

フレームアクションについて。

perseの回答

  • perse
  • ベストアンサー率74% (113/152)
回答No.2

同じフレームに i = 0; と書くのと function hoge() {  i = 0; } と書くのには違いはありません。 しかし function hoge() {  var i:Number = 1; } と書くと変数iはローカル変数として宣言されているので 関数hoge内でしか使えません。 hoge関数外でtrace(i)としてもundefinedが返ってきます。

関連するQ&A

  • アクションスクリプト 

    下記のアクションスクリプトで徐々に目標値へ近づけたいのですが、 うまくいきません。 わかる方よろしくお願いします! btn.onRollOver = function() { clearInterval(myID); for (var i:Number = 1; i<=Max; i++) { if (this.id != i) _root["btn"+i].thumb._y = 0 _root["btn"+i].name_txt._y = 20; _root["btn"+i].frame_mc._y = -2; _root["btn"+i].frame_mc.transform.colorTransform = downColor; } else { this.thumb._y = -5 this.name_txt._y = 15              this.frame_mc._y = -6 } }

    • ベストアンサー
    • Flash
  • アクションフレームについて

    Flash MX Professional 2004を使っています。 アクションフレームがスクリプトを記入する場所だと思うのですが、小さすぎてとても不便に思っています。 Flash MX Professional 2004にはスクリプトを記入するエディタ等は無いんでしょうか。 Flash MX Professional 2004内臓のエディタがない場合皆さんはどのような環境でスクリプトを書いていますか。 初歩的なことかもしれませんが困っています。 教えてください。

    • ベストアンサー
    • Flash
  • javascriptからframeへの出力方法

    <!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01//EN' 'http://www.w3.org/TR/html4/strict.dtd'> <html> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <script type="text/javascript" src="prototype.js"></script> <script type="text/javascript"> function init(){ $("f1").innerHTML = "hoge"; $("f2").innerHTML = "piyo"; } </script> </head> <frameset cols="50%,*" onload="init()" > <frame id="f1"> <frame id="f2"> </frameset> </body> </html> 上記、二つに分けたフレームにそれぞれ"hoge"と"piyo"と表示したいのですが出来ません。フレームにjavascriptからアクセスするにはどうしたらよいですか?

  • アクションスクリプト ifがうまく働いてくれません…

    こんにちは。 FLASH8、OSwinXP、初心者 です。 アクションスクリプト「if」に関するご相談です。 ●クリップにマウスオン(rollover)するとダイナミックテキスト(_root.texbox_mc.hhh)の数字がカウントダウンされる、というものを作っています。 ★問題は、以下のスクリプトだとカウントダウンを50で止めたいのにスルーしてどこまでもカウントダウンしてしまい、 onClipEvent (load) { hoge = 1; snt = 100; } on (rollOver) { this.onEnterFrame = function() { hoge -= 1; cont = (snt+hoge); _root.texbox_mc.hhh = cont; //(1) if (cont<50) { cont = 50; } } } ★以下のスクリプトだとカウントダウンが50で止まるんですが、マウスオン(rollover)した瞬間、undefined未定義と表示されてから100が表示され、カウントダウンという展開になってしまいます…100からダウンしてくれたらいいんですが…。 onClipEvent (load) { hoge = 1; snt = 100; } on (rollOver) { this.onEnterFrame = function() { _root.texbox_mc.hhh = cont; //←(1)をここに上げるとifは効くが、undefinedが表示されてしまう hoge -= 1; cont = (snt+hoge); if (cont<50) { cont = 50; } } } ☆つまりはundefinedが出ないで100から始まり、50で止まってくれればいいんですが…。 どなたか教えてくださいませ。 前出があるかと検索しても出てきませんでしたが、これに類似したものでもよいのでページ等教えていただければ幸いです。

  • onloadイベント発火条件

    window.onload <body onload="function(){}"> <img src="hoge.jpg" onload="function(){}"> <script src="hoge" onload="funct" でも <div>や<p>ではonloadイベントは無いですよね? どういう場合にonloadイベントは発火するんでしょうか? window , body ,その他srcがあるdom でしょうか? ブラウザ依存もあるでしょうが、仕様的なものはどうなってますでしょうか?

  • コンストラクタとプロトタイプについて

    ネットで検索したりして調べているのですがいまいちわからなかった箇所が あるので質問させていただきます。 コンストラクタで設定するのとプロトタイプで設定する違いがいまいちわかりません。 例えば function Test { this.prop = hoge; } Test.prototype.prop1 = hogehoge; の場合 コンストラクタのほうが優先されてhogeがでるのはわかるのですが 下記の場合はプロタイプのほうが優先されてhogehogeと出てしまうのは どうしてでしょうか? <script language="javascript"> <!-- //コンストラクタ function Test(){alert("hoge"); } //prototypeでセット Test.prototype=alert("hogehoge"); //オブジェクト作成 var TEST = new Test(); window.onload=TEST; --> </script>

  • 移動に関するアクションスクリプトがわかりません

    あるムービークリップをクリックした時にX座標を0の位置にもっていきたいのですが、アクションスクリプトをどう書いたら良いのか分かりません。 瞬間的に移動するのではなくスーッという感じで動かしたいのです。 on (release){ this._x = 0} と onClipEvent(enterframe){ this._x += -2 } これを融合させたような感じにしたいのですが、書き方が分かりません。メインのタイムラインに動くフレームをつくりgotoAndPlay()で飛ばしても良いんですが、アクションスクリプトだけで作ることは不可能でしょうか?

    • ベストアンサー
    • Flash
  • 複数の要素を表示してる時だけアクションを。

    <div style="display:block" class="diva">hoge</div> <div style="display:block" class="divb">hoge</div> .divaのみ表示している場合は下記で問題ないのですが、 <script type="text/javascript"> $(function(){ if($('.diva').is(':visible')) { //action } }); </script> .diva と .divb の両方がdisplay:blockだった時のみ アクションさせたい時の条件式はどのようになるのでしょうか?

  • イベントハンドラに処理を追加するには?

    例えばbodyタグのonloadイベントハンドラに JavaScriptを使って処理を追加するにはどうすればよいのでしょうか? 例) ・rei.htm <html>  <script language="JavaScript" type="text/javascript">  function hoge(){   alert("hogeです");  }  function foo(){   alert("fooです");  }  </script>  <body onload="hoge();">  </body>  <script language="JavaScript" type="text/javascript">  document.body.onload += foo();  </script> <html> ※前提条件として、変更可能な箇所はscriptタグ内のみとなります。 「こんなんでいけないかな?」と思って上記のようにやってみたのですがうまくいきませんでした。 (結果はfoo()のみ実行され、hoge()は実行されませんでした。 alertでbody.onloadの中身を確認すると『function anonymous{hoge();}undefined』と表示されるので、なぜfoo()が実行されてhoge()が実行されないのかよくわかりませんが‥) また試しに document.body.onload += foo(); これを以下のように変更してみました。 document.body.onload = foo(); この時は、 ・foo()の実行  ↓ ・javascriptエラー  ↓ ・hoge()の実行 となりました。(これもなぜこうなるのかよくわかりせん) 以上、イベントハンドラに最初から任意に入れられている処理を残しつつ、 さらに処理を加えるにはどうすればよいのかご教示お願いします。

  • window.onloadでのfunction

    javascript初心者で質問自身が僕が解決したい問題の原因かどうかも解らずに質問しています。 <script type="text/javascript"> <!-- function hoge_1() { ~処理1~ } function hoge_2(hiki_suu) { ~処理2~ } window.onload = function() { document.getElementById("button_1").onclock = hoge_1; document.getElementById("button_2").onclock = hoge_2("watasu"); } // --> </script> 上記のようにページheadにscriptを配置したとします。ページ上のbutton_1がクリックされると処理1が実行されるのですが、hoge_2のように引数を使ってしまうと、onload時に処理2を実行してしまい、button_2は有効に動作しません。 functionの引数の問題なのか、window.onloadの作法なのか、なにが悪いのか全く解らず質問しています。 ご指導のほどよろしくお願いいたします。