FlashActionScriptのスクリプトの使い方と意味の解釈について質問

このQ&Aのポイント
  • FlashActionScriptのスクリプトの使い方と意味の解釈について質問です。
  • 具体的には、P.258のサンプルclipEvent05.flaのスクリプトの5行目から9行目がわからず困っています。
  • 特に、getBoundsメソッドの引数のthisや、xMinとxMaxの-=の意味が理解できません。
回答を見る
  • ベストアンサー

FlashActionScriptバイブルを読破された方に質問です!

P.258の下の方にあるスクリプト(cd-romのサンプルclipEvent05.flaのスクリプトです。)の使い方、意味の解釈ができなくて、困っております。 わからないのは、 本書の 5行目から9行目までです。 その他の意味は解しております。 //このMovieClipオブジェクトのサイズを、ローカル座標で取得 var theBounds = this.getBounds(this); //その中の値(自分の中心点からのピクセル数)をオフセット xMin -= theBounds.xMin; xMax -= theBounds.xMax; とあるのですが、getBoundsメソッドのあとの引数のthisとは一体何なのでしょう?? また、8,9行目で、なぜ、xMinとxMaxは共に-=しているのでしょうか。 というのもp257のサンプルでは、xMin+=_width/2とxMin-=_width/2というようにあったので・・・。P257のほうの意味は理解しております。ちょっとp257が頭に残ってしまって、何がなんだか分からなくなっております。 getBoundsメソッドの概念がどうしてもつかめません。 そこで、そのメソッドの役目を確認しようと、本書とは関係ない実験をしてみました。 一つのムービーを作成してみました。ムービー上にわざとローカル座標の中心点をずらしたムービークリップを配置して、それにクリップアクションで、 onClipEvent(load){ secret=this.getBounds(); trace(secret); } と書いて、ムービープレビューしてみました。ですが、これで出力に表示されるのは「Type Object」と出るだけでした。getBoundsメソッドはローカル座標を調べてくれるのではないのでしょうか?馬鹿な間違いかもしれませんが、遠慮なくご指摘ください。 ちょっと本書の説明では、ついていけなかったので、 助け舟を出してくださる方がいることを祈っております。 宜しく御願い致します。 また、本書についての質問掲示板等がございましたら、 教えていただけましたら幸いです。

  • shevy
  • お礼率67% (703/1046)

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

  • ベストアンサー
  • hokuto_ds
  • ベストアンサー率45% (106/233)
回答No.2

お礼ありがとうございます、shevyさん。 回答がなんとか「助け船」になれたようでなによりです。壁がこせるとうれしいですよね!(私も現在、ひとつ壁にあたっております‥) しかし >>hokuto_dsさんの書き方だと同様にType Objectとしか表示されませんでした これは失礼いたしました~;実は「なんかあぶないなあ、自分で動かしてためしてみよう‥」とか思いながらそのまま甘く見て回答してしまいました。(実際、よくあるんですよ、動くぜ!とか思いながらまぬけをして動かないのって。なんて威張って言えませんが) フォローありがとうございました! 日々勉強‥‥! ActionScriptバイブルはほんとにいいですよね。「プログラム」をすでに理解している人には「かえってわかりにくい」とか言われますが、私はあの本がなければスクリプトなんて考えもしなかったと思います。ほかにも何冊か見ましたが、やはりお役立ち度はこの本にとどめをさすかな(そんなにたくさん読んでいませんが;)、と思います。 なので、せっかく言っていただいたのですが「おすすめ」はこれ以上のものはないかも。私自身はこの本を手元において、ことあるごとにリファレンスを引きながら自分で思いついたものをつくっては、試行錯誤している状態です。 ActionScriptバイブルに書いてあるサンプルも、ほとんど自分の手でつくりなおしたりしてみました。たとえばデジタル時計、アナログ時計を自分であたらめてつくったり。サンプルのスクリプトは見ないようにして、後ろのリファレンスだけをたよりにしながら自分で一からスクリプトを書いていきます。にっちもさっちもいかなくなったらサンプルを「ちらっと」見ますが。これが、当時はいちばん自分にとって勉強になったやり方でした。理解しているつもりでも、いざ自分で書こうとするとなかなか書けなかったもので‥‥ あとは私が「気になっている本」を、とりあえず参考サイトに。「カスタマーレビュー」の方で、読者の意見も聞けるのがありがたい(じつは、バイブルもここでレビューの評判が良かったので買ったのです)。お金があったら全部ほしいですが‥‥最新バージョンのMXの本もではじめましたので、心をひかれつつ様子を見ている状態です。 後ろの参考サイトは、お役に立つかもしれないリンク、です。メーリングリストのアドレスなどもあります。ご参考までに、ということで。 なんだかちょっと私もやる気でました(^^)。なんとか今つくってるスクリプトを仕上げようと思います。

参考URL:
http://www.amazon.co.jp/exec/obidos/ASIN/4881661973/fsite-22/249-1257828-6709953,http://fpower.org/link.htm
shevy
質問者

お礼

有難う御座います。 お世話になっております。 そうですか、やはりバイブルは最強ですか。 たしかに私もそう思います。 でも、もし、私よりも全く素人で、Flashすら知らない人には、いきなりこの本よりは、先に、おしえてFlash5を一通り読んでからがいいだろうと思っています。 まずは、Flashの仕組みを知り、そして、ActionScriptに挑戦する。私が歩んできた道は、そんな感じです。といってもまだバイブル読み始めて一ヶ月もたっていません。うーん、先にラーニングに力を入れすぎたかもしれません。何度も書いていますが、ラーニングは良本だと思うのですが、やはりオブジェクト指向について全く書かれていないのは、問題だと思いました。オブジェクト指向の前に構造化プログラミングに慣れ親しんでいると、頭の切り替えが大変なこと大変なこと。functionって何?って感じでしたから。でも、ラーニングは悪くないですよ!ってそればっかりいってますが・・。 hokutoさんの勉強方法なにやらよさげですね。コーディングを自分で最初からして、わからないときだけ少しだけ見てヒントを得る。これはよさそうです。使わさせて頂きます。とりあえず、あと本が半分以上残っているので、ガシガシと突き進みます。 hokutoさんのスクリプト、完成したら、教えていただけませんか。是非ホームページに行って拝見したいです。 私もやる気でましたよ。 また近いうちにこの板でまた当方、質問するかもしれません。そのときはhokuto_dsさんのご回答、ご鞭撻、また宜しく御願い致します。

その他の回答 (1)

  • hokuto_ds
  • ベストアンサー率45% (106/233)
回答No.1

>>getBoundsメソッドのあとの引数のthisとは一体何なのでしょう?? これは本の619ページのgetBounds()の欄をしっかりお読みください。thisについても(つまり、このメソッドの引数について)書いてあります。引数をとることによって、「どの座標系を使うか」指定できるわけです。 つまりthis.getBounds(this) では、この「this」のローカル座標を使って「xMin,Xmax,yMin,yMax」の四つの値を取得するのです。 >>これで出力に表示されるのは「Type Object」と出るだけでした。 これは、secret=this.getBounds(); の引数を指定していませんよ。 この実験をするなら secret1=this.getBounds(); secret2=this.getBounds(_root); secret3=this.getBounds(this); secret4=this.getBounds(なにか別の、_root上においたムービークリップ); の四つのメソッドを書き、 trace("1:"+secret1+",_root:"+secret2+",this:"+secret3+",別のMCの名前:"+secret4); でトレースしてみれば、それぞれの違いがよくわかります。 ちなみに「Type Object」ってのは「secretってのはオブジェクトのひとつですよー」と言っているだけのことで、数値を返してきたわけではないです。つまり、この時点では数値の返り値が生じていない‥ >>なぜ、xMinとxMaxは共に-=しているのでしょうか これについては、図を描いて自分で考えることをおすすめします。文字だけで書いてもわかっていただけるかどうか; とりあえずご説明しますと、この this.getBounds(this);で「このMC(ムービークリップ)のローカル座標を取得」してますよね? ローカル座標というのは「そのMCの中心点をゼロとした」座標です。たとえば横(x)の長さが10のMCを想定します。この中心点をずらしていないと仮定すると、this.getBounds(this);で取得する値の中の「xMin」は「-5」、「xMax」は「5」になりますよね。 これを本文のメソッドに実数として当てはめ、図に描いてみてください。なぜオフセットするのか、中心点をずらしたものも紙に描いて、それがステージ左端にさしかかったとき、右端にさしかかったときの状態をくらべてみれば理解できると思います。 私もスクリプトもフラッシュも超初心者でこの本につっこんだので、いろいろ大変なのはわかります(かつてを思い出します;)。わからなくなったら「紙に書いて整理する」が私のたどりついた解決策でした。 スクリプトを画面でいじるより、図で整理したほうが分かりやすいこともありますよ。がんばってくださいね。 >>また、本書についての質問掲示板等 は、知らないです。あるなら私も知りたいですが‥‥

shevy
質問者

お礼

こんにちは。回答ありがとうございます。 お世話になっております。 すべて意味を解しました! 619ページと620ページを熟読することで、 謎はすべてとけました。 そして、私が、実験と称して試してみたtraceもうまいこと返り値をゲットすることができました。 ただ、せっかく回答をしてくださったのですが、 hokuto_dsさんの書き方だと同様にType Objectとしか表示されませんでした。そこで頭をひねって、ページ619と620をよく読んでみると、少し書き加えればいいのではないか?と気付き、以下のように書いてみました。 onClipEvent (load) { secret1 = this.getBounds(this); secret2 = this.getBounds(_root); trace ("ローカル座標:Xの最小値:"+secret1.xMin+",Yの最小値"+secret1.yMin +",Xの最大値:"+secret1.xMax+",Yの最大値"+secret1.yMax); trace ("グローバル座標:Xの最小値:"+secret2.xMin+",Yの最小値"+secret2.yMin +",Xの最大値:"+secret2.xMax+",Yの最大値"+secret2.yMax); } つまり、変数名のあとにプロパティ指定がなかったことに気付いて書き足しただけなのです。これでバッチシうまいこといきました。有難う御座います! また、なぜ「-=」かとい質問もしましたが、よくわかりました。書いてみると分かるものですね。ようするにローカルでマイナスの値になっているX座標の値はグローバルのxMinの値からひいてやると結果としてプラスになる。だから、結果としてMCの中心点からMCの端までの距離がオフセットになって、画面上にきちんと表示される。 またその逆で中心点がオブジェクトからはるか遠くに位置していたとしても、今度はそのオブジェクトの端っこから、中心点までの距離が余計だから、グローバルのxMinから、その余計分を引いてやればオフセットになる。。。 うーん、自分で自分を納得させるために長々と書いてしまいました。hokuto_dsさんは分かっておられるのに、しつこいですよね。ちょっと嬉しかったもので。 実は、私は、アクションスクリプトに取り掛かったのは、 ラーニングアクションスクリプトという本でした。これも非常に分かりやすいのですが、実は、この本はオブジェクト指向を採用していないんです。ですので、こちらのバイブルにとりかかってみたとき、少し、とっつきにくい感がありました。ですが、読んでいくうちに、バイブルのほうが分かりやすいと気付きました。バイブルをマスターしてから、他の本を読むというのが、どうやら良さそうですよね。 hokuto_dsさんのお薦めの書籍があれば、何か教えていただけないでしょうか。基礎力を活かせるもう少しサンプルが多いものがいいかもしれません。

関連するQ&A

  • FlashActionScriptバイブルを読破された方に質問です!2

    「引数」で困っております。 本書のp305ページの「theObject」と「this」が私を混乱させます。 p305のスクリプト(その1) this.stop(); function dropYou(theObject){ this.gotoAndStop("open"); theObject.dropped(); } ※このスクリプトには「theObject」が2つ出てきます。引数指定の()内に一つ目のtheObjectは登場します。もう一つは、droppedメソッドの前に登場します。この「theObject」は2つともが同じキーワードであるならば、例えば「obje」でも「book」でも、スクリプトは正常に動作するようです。 ですが、「this」と入れるとさすがにまずいようで、なぜなら、 theObject.dropped(); が、 this.dropped(); になってしまい、オブジェクト参照そのものがこのMCに向けられてしまうからのようです。 しかし、なぜtheObjectがdropped()メソッドのオブジェクト参照として利用することができるのでしょうか?theObjectという名のインスタンスが存在しないので???です。 p305のスクリプト(その2) on (release) { this.stopDrag(); _alpha = 100; eval(_droptarget).dropYou(this); } ここのスクリプトが私を最も苦しめる問題のスクリプトです。 evalが返す値は、MCがドロップされた場所のインスタンス名というのはわかります(_droptargetを使っているから)。 ですが、次の dropYou(this); のthisの使われ方で、もう頭が錯乱してしまいました。 thisとは、オブジェクト参照のときだけに使うものであり、引数で使うものとは思っていなかったからです。 ここのthisがゴミ箱のMCのtheObjectに相当することはわかりますが、なぜ、thisとtheObjectは揃える必要がないのでしょう?? 非常に支離滅裂で分かりにくいこと質問になってしまったかもしれませんが、引数の概念についてアドバイスを御願い致します。

  • FlashActionScriptバイブルを読破された方に質問です!3

    一通りこの本を読破して自分なりに熟考してきたつもりなのですが、 最後のほうでつまずいた点がありましたので、 どうぞアドバイス御願い致します。 P.383の下のほうのスクリプト(チェックボックス内のムービークリップ内のフレーム1に記述)で、 function value(){ return Number(_currentframe==3); } というスクリプトがありますが、 この()内の、 _currentframe==3 の意味するもの、意図するものがどうもわかりません。 関数Numberをそもそもこれまで使ったことがなかったので、よくわからなかったのですが、 「文字列や、trueやfalseといったブール値を、数値に変換します」 とバイブル内でも定義されているので、 それを考えてみたのですが、 それでも _currentframe==3 の意味がよくわかりません。 またCGIについての質問になるかもしれませんが、 POSTとGETでの送信の違いがもう一つつかめません。 どのように解釈したら宜しいでしょうか? GETだと送信時にURLにそのまま情報が表示されるというのはわかるのですが。 具体的な質問は以上なのですが、 最後に、今後の勉強方法としてアドバイス願いたいのですが、 CGIとActionScriptを連携させていく上での勉強になるサイト、本等ございましたら教えていただけないでしょうか。CGIとFLASHの絡みがまだイメージしづらくて困っております。 どのように勉強したらいいのかが漠然としていまして、わかりませんので、どうぞ宜しくお願いします。

  • キー入力で操作しているMCを障害物で止める方法

    WinXP、Flash8Proにてオーサリングしております。 【文字制限上最小限の説明とスクリプトも寄せてあります】下sと右dの場合ではプレイヤーの位置が障害物内に飛ぶ。一度衝突判定が実行されると障害物から離れられない。障害物に接触したあと接触時と違うキーを押すと障害物の反側面に飛んでしまう現象や、障害物は多数が若干かさなり合いながら置かれているので、その障害物の上をプレイヤーが流される現象が起こる。何か良い打開策はないものでしょうか。【障害物のMCに記載】 onClipEvent (enterFrame) { PM=_root.main_mc.player_mc.player_mc_mc; PMM=_root.main_mc.player_mc.player_mc_mc.player_mc_mc; if(this.hitTest(PMM)){ _global.key_lis2();//getting key_code2 _global.edge = new Object; _global.edge = this.getBounds(PM._parent); ply=PM;MC1=this._parent;//obje MC2=_root.main_mc.player_mc;//ply //「obje」ムービークリップの座標をグローバル座標に変換 p = new Object();p.x = this._x;p.y = this._y; MC1.localToGlobal( p ); //変換した座標を「ply」と同じ座標系の座標に変換 MC2.globalToLocal( p ); var edge:Object , adjust:Number; edge = new Object;adjust = 2; edge = this.getBounds(_root.main_mc.player_mc); trace("edge="+edge.yMax); switch( _global.key_code2 ){case 'w': MC2.player_mc_mc._y = edge.yMax;break;case 's': MC2.player_mc_mc._y = edge.yMin;break;case 'a': MC2.player_mc_mc._x = edge.xMax;break;case 'd': MC2.player_mc_mc._x = edge.xMin;break;default:break; }}//end of hitTest}//end of onEnterFrame

    • ベストアンサー
    • Flash
  • flash as3 ムービークリップの基準点

    flash as3 ムービークリップの基準点について質問させていただきます。 A_mcというムービークリップがあったとして、そのムービークリップの中心の座標と、ステージの中心の座標が合うように、そのムービークリップを移動したいのですが、どうコードを書いていいのか分かりません。 var containerXPos:Number = A_mc.x; (containerXPos)* 0.5 = stage.width * 0.5; イメージはこんな感じで、これを使える形にしていただければ幸いです。 よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • センターに配置

    一つのムービークリップに onClipEvent (enterFrame) { xm = (Stage.width-this._width)/2; ym = (Stage.height-this._height)/2; this._x += (xm-this._x)/4; this._y += (ym-this._y)/4; } というアクションシュクリプトを書いています。 ところがです! そのムービークリップに on (release) { gotoAndPlay("01"); } と追記して指定のフレームラベル"01"に飛んでくれましぇん… なぜでしゅか? ムービークリップの中にボタンを入れて on (release) {...を記入したりまたが だめです。 ボタンをウィンドの上下左右センターに配置する方法、 もしくはムービークリップが指定のフレームラベルに行ってくれる方法を教えて下さい!!! もう、うんこしていてドアを開けられたときくらいびっくりしています。いや、苦しんでいます。

  • ActonScriptでムービークリップの移動

    お世話になります。ActonScriptでムービークリップの移動を考えているのですが記述が悪いためかうまくいきません。 ムービークリップのx座標が300を超えたら this._x -=10 ムービークリップのx座標が0未満になったら this._x +=10 という処理をしたいと思い onClipEvent (enterFrame) { if (_x>300){ var a = 1; } else if (_x<0){ var a = 2; } if (a=1){ this._x -=10; } else if(a=2){ this._x +=10; } } のように記述したのですが、this._x -=10しか認識してくれなくて、一方向にしか進みません。 どうかよろしくお願いいたします。

    • ベストアンサー
    • Flash
  • 外部jpeg読込み

    外部jpegを読込用 ムービークリップ"img"に対して外部jpegを読み込もうとしています。 ムービークリップに直接loadMovie(Path)として画像を読み込んで、そのムービークリップのアクションで onClipEvent (load) { this._width = 100; this._height = 50; } とサイズを指定しています。 このサイズを指定しているアクションを_rootステージのアクションスクリプトレイヤーに置き換え直接書きたいのですが方法はないのでしょうか? ご教授ください。

    • ベストアンサー
    • Flash
  • キー操作その2の質問です

    困っています お久しぶりです。そして前回のご返答ありがとうございます。 おかげさまで一つ解決策が見つかった気がします。 言葉が曖昧すぎてしまい回答を息詰らせてしまうような文章ですみませんでした。前回の回答は本当に適切で助かっています。 Flash製作はまだ未熟なもので、Actionscriptをいまいち理解していないところがあるので、文章が不適切になってしまいもうしわけありませんでした。 しかしながら、今回の件は貴重な第一歩となり、とても感謝しています。 たびたびKey操作の質問なのですが、先日の回答でSPACEキーを押すとcapture_mcが左から右へ出てくるようにはなったのですが、 今度は同じステージ上で、「モーショントゥイーンで別のムービークリップが下から上へ」出るようにしたいのです。 BlurFiltanさんが教えてくださった前回のActionscriptを別のムービークリップ(インスタンス名alpha_mc)に添付してイベントを「this._x」から「this._y」に変え、 インスタンス指定をalpha_mcにし、初期値をY座標の値に変えてパブリッシュプレビューをしてみたところ、 なぜかステージ上にある「capture_mc」の座標が、alpha_mcのscriptで指定した座標に変わってしまい、alpha_mcのムービークリップはSPACEキーを押しても動かないのですが、これは何が原因なのでしょうか?

    • ベストアンサー
    • Flash
  • アプレットは初期化されていません

    いつもお世話になっています。 早速ですが、appletviewerで見たときにタイトルのように「アプレットは初期化されていません」と出てきます。これを解決するにはどうすればいいのでしょうか?  ちなみに私が作っているのは白黒のみの画像をロードして、黒い部分を四角で覆い重心を求めるというものです。ソースを載せておきます。 import java.applet.*; import java.awt.*; import java.awt.image.*; public class test extends Applet { Image img; // 元のイメージ int img_width = 0; // 元のイメージの幅 int img_height = 0; // 元のイメージの高さ int pix[]; // 元のイメージを格納する配列 int wcnt_pix[]; // 行ごとの黒画素数を格納する配列 int hcnt_pix[]; // 列ごとの黒画素数を格納する配列 int cnt = 0; // 黒画素のカウント用 int cnt_sum = 0; // 黒画素のカウント総数 int chu = 0; // 中心値 int sum1 = 0; int sum2 = 0; int x = 0; int y = 0; int xmax = 0; // 黒画素の右端 int xmin = 0; // 黒画素の左端 int ymax = 0; // 黒画素の上端 int ymin = 0; // 黒画素の下端 public void init(){ img = getImage(getDocumentBase(), "test.jpg"); // イメージのロード MediaTracker mt = new MediaTracker(this); mt.addImage(img, 0); try{ mt.waitForID(0); }catch(InterruptedException e){} // イメージのロード完了まで待機 img_width = img.getWidth(this); // 元のイメージの幅を取得 img_height = img.getHeight(this); // 元のイメージの高さを取得 cntpix(); box_top(); box_bot(); box_rig(); box_lef(); } // 黒画素数のカウント public void cntpix(){ pix = new int[img_width * img_height]; wcnt_pix = new int[img_width]; hcnt_pix = new int[img_height]; try{ PixelGrabber pg = new PixelGrabber(img, 0, 0, img_width, img_height, pix, 0, img_width); pg.grabPixels(); }catch(InterruptedException e){} // 行ごとのカウント for(int wj = 0; wj < img_height; wj++){ cnt = 0; for(int wi = 0; wi < img_width; wi++){ if((pix[wj * img_width + wi] & 255) < 128){ cnt++; } } wcnt_pix[wj] = cnt; cnt_sum = cnt_sum + cnt; } // 列ごとのカウント for(int hi = 0; hi < img_width; hi++){ cnt = 0; for(int hj = 0; hj < img_height; hj++){ if((pix[hj * img_width + hi] & 255) < 128){ cnt++; } } hcnt_pix[hi] = cnt; } chu = cnt_sum / 2; // 中心値 // 中心値より重心が何行目かを求める int i = 0; while(sum1 < chu){ sum1 = sum1 + wcnt_pix[i]; i++; } x = i - 1; // 中心値より重心が何列目かを求める int j = 0; while(sum2 < chu){ sum2 = sum2 + hcnt_pix[j]; j++; } y = j - 1; } // 黒画素の上端を求める public void box_top(){ int ti = 0; while(wcnt_pix[ti] == 0){ ymax = ti; ti++; } } // 黒画素の下端を求める public void box_bot(){ int bi = img_height; while(wcnt_pix[bi] == 0){ ymin = bi; bi--; } } // 黒画素の右端を求める public void box_rig(){ int ri = 0; while(hcnt_pix[ri] == 0){ xmin = ri; ri++; } } // 黒画素の左端を求める public void box_lef(){ int li = img_width; while(hcnt_pix[li] == 0){ xmax = li; li--; } } // 画像等の描画 public void paint(Graphics g){ int dx = x - xmin; // 重心のX座標 int dy = y - ymax; // 重心のY座標 g.drawImage(img, 0, 0, this); g.drawString("このイメージの幅は"+img_width+"で高さは"+img_height+"です。", 0, 20); // 画像の描画 g.drawLine(xmin, ymax, ymax, ymax); g.drawLine(xmin, ymax, xmin, ymin); g.drawLine(xmin, ymin, xmax, ymin); g.drawLine(xmax, ymax, xmax, ymax); // バウンディングボックスの描画 g.setColor(Color.red); g.drawString("重心は、( "+dx+", "+dy+" )です。", 0, 60); // 重心の描画 g.drawLine(x-10, y, x+10, y); // 重心の位置の描画 g.drawLine(x, y+10, x, y-10); // 重心の位置の描画 } }

    • ベストアンサー
    • Java
  • ムービークリップをボタンがわりに

    flash勉強中のものです。メニューを外部ファイルで作って読み込ませる感じにしています。それで、メニューの1フレーム目に各コンテンツを読み込むためのスクリプトを書き、ボタンがわりに使っているムービークリップにコンテンツを呼び出すスクリプトを書こうとしているのですが、 ボタンオブジェクトに書くときはon(release) { this.contact();   } でメニューの1フレーム目で定義したcontactメソッドを実行することができるのですが、作り込んだボタンにしたかったので後にムービークリップで作り直しました。 ここで未熟者の私はつまずいてしまったのですが、ムービークリップにon(release) { this.contact(); } と同じ動作を与えるにはどんなスクリプトを書けばよろしいのでしょうか? どうかご教授お願いいたします。

    • ベストアンサー
    • Flash