ActionScriptのスクリプト記述場所について

このQ&Aのポイント
  • ActionScriptを書く場所について、本によってさまざまな解説がありますが、一番ベストな方法はどこでしょうか?
  • 各シンボルへの保存は避けるべきとされていますが、一か所にまとめることのメリットはありますか?
  • トゥーインでの処理からActionScriptへの移行を考えているので、正しい方法を知りたいです。
回答を見る
  • ベストアンサー

ActionScriptを書く場所

スクリプト自体は説明書&参考書などでなんとなく理解は出来ました。 しかし、本によってスクリプトを書く場所がシーンの最初のフレームだったり、シンボルのフレームだったり、さらにはASファイルで別保存を基本に解説している本があったり・・・。 各シンボルへの保存は極力避けた方がいい理由の説明等はありましたが、結局のところどこに書くのがベストなのでしょうか? できれば一か所にまとめた方が後で手直しがしやすいかと思うのですが、どうなんでしょうか? 今はトゥーイン等で処理してますが、後々すべてをActionScriptで処理するホームページを作れるようになりたいと思ってます。 ASを勉強中なので、今のうちにちゃんとした方法を知っておきたいと思い質問しました。

  • I-NY
  • お礼率79% (34/43)
  • Flash
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • taku2888
  • ベストアンサー率60% (15/25)
回答No.1

ベストは何か一概には言えませんので参考として。 私はこうしてますって話です。 シーンの最初のフレームは、プリローダーやグローバル変数等を置いています。 これは、全てのロードが出来ずに次のフレームに行く前に初期化等を確実に終えておきたいからです。 その他は、ムービークリップやASファイル等にブラックボックス化できるところは ある単位でカプセル化します。こうすると後で使い回しがきき確実に動作しているところはデバッグを気にせず済みます。 一箇所にまとめるのも良いですが、数千行のASになってくるとメンテナンスが大変になります。特にFLASHのエディターは遅い上に使いづらいですから。 極力、グローバル変数を減らしたり後のデバッグやメンテが容易い様に心がけると良いと思われます。 AS3からは、オブジェクト指向になってきている様なのでオブジェクト指向プログラミング等を参考にすると良いかと思います。

I-NY
質問者

お礼

>AS3からは、オブジェクト指向になってきている様なのでオブジェクト指向プログラミング等を参考にすると良いかと思います。 なるほど、今度はそっち方面の参考書を買ってみようと思います。 やはり関数などはASファイルに入れておいた方がよさそうですね。 参考になりました。ありがとうございます。

関連するQ&A

  • FlashのActionScriptについて

    FlashのActionScriptについて Flash CS4(AS2.0)を使用 Flashに関しては初心者で、色々な参考書を見ている中で、 AkutionScriptの書き方に色々なパターンがあって分からなくなりました。 アクションを書き込む際、 (1)専用のActionScriptのフレームを作成してそこに書く (2)ボタンインスタンスに書く (3)対象のシンボルのフレームに書く 上記3つの方法はそれぞれどのような違いがあるのでしょうか?又、どのようにして 使い分けするのでしょうか?

  • ActionScript3.0について。

    ActionScript3.0について。 最近AS3.0を勉強し始めました。 そこで分からない点が2点ありまして、 「null」 「void」 の2つの考え方が分かりません。 ネットで調べたり本を見たりしましたが、 いまいちピンときません。 どなたか簡単に分かるような説明をしてあるサイト、 もしくは簡単で分かりやすい理解の仕方がありましたら教えていただけませんか? 宜しくお願い致します。

    • ベストアンサー
    • Flash
  • すべてのActionScriptを一斉に止める方法

    現在作成しているFlashに関してなんですが、いろいろなフレームで繰り返し処理を行うActionScriptを使用しています。 例えば、これらの処理を100フレームに到達した時点ですべて一斉に止めたいと思っているのですが、コマンドで「このフレームですべてのActionScriptの処理を中止する」のようなコマンドはあるのでしょうか? 途中からガラっと内容が変わるFlash(音楽のみ継続)を作成中で、最初の場面では多数のScriptが動いていて、ひとつひとつ止めるのは大変&ちゃんと止まってくれなかった物もあるので、問答無用で全てを止めてくれるコマンドがあったら助かるなぁ思ったので。 辞典などいろいろ見てみたのですが、見つからなかったので無いのかもしれませんが、何か助言等頂けたらと思います。 どうぞよろしくおねがい致します。 ≪使用環境≫ Windows2000 FlashMX2004

  • ActionScriptを学べるサイト

    こんにちわ、kaituといいます。 今Flashのアクションスクリプトを学ぶ為、 「Flash道場」「Flash ActionScript Helper」 のサイトを回っているのですが、 この2つのサイト以外の、 ActionScript解説サイトを探しています。 知っている方いましたら、回答お願いします。

    • ベストアンサー
    • Flash
  • actionscript2.0について

    先日より、Flashを始めたばかりのド素人です。 現在、Flash8 actionscript2.0 WINXPにて、ホームページ用のボタンを制作しているのですが、 ボタンシンボルからオーバーを選択して、MCをダブルクリックし、ロールオーバー時にラインが出てきて止まるまでは、出来ました。 その止まった状態から、ロールアウト時に逆戻りさせて、また元の位置に戻して停止させたいのですが、どのような 指示を出せば良いか、いろいろと調べてみましたが、全くわかりません。 フレーム数は5で12.0fpsです。 状況説明すらわかりにくく申し訳ありませんが、教えていただきたいと思います。 宜しくお願い致します。

  • ActionScript3.0でエラーがでる

    初めまして、今非常に困っていましてどなたかお力を貸してください。 ActionScript3.0を使ってフルフラッシュサイトを作っているところなのですが、タイムラインの1フレーム目でローダーでrootを読み込み、終わったら2フレーム目(gotoAndStop(2)で)へ移動という形にしているのですが、ムービープレビューすると「Error #1009: null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。at Main()」 と出てしまいます。Mainはドキュメントクラスで外部asファイルに記述しています。 こんな感じで書いています↓ 『1フレーム目のタイムラインスクリプト』 stop(); ~中略~ if(info.bytesLoaded==info.bytesTotal){ if(load_mc.nowScene=="finish"){ Object(root).gotoAndStop(2); } } 『外部Main.asファイル』 package{ ~中略~ public class Main extends MovieClip{ ~中略~ public function Main() { addEventListener(Event.ENTER_FRAME, checkHandler); } function checkHandler(ev:Event):void { if (Object(root).currentFrame==1) {//フレームが1なのかを判別 return; } removeEventListener(Event.ENTER_FRAME, checkHandler); init(); } function init(){ ~中略~ } } } すみません、ホントはもっとあるのですがスクリプトが長過ぎて書ききれないのでざっくりですが、こんな感じです。 checkHandler()は、エラーが出ないように2フレーム目に来たらMain.asを参照できるようにしています。ほかになにかやり方があれば教えてほしいです。。。←なんとなくこれが怪しい気もするので。 一応こんな感じでも順調に作業出来ていたのですが、なぜか急にエラーが出始めました。 ムービープレビューすると先ほど書いたエラーメッセージがでて、画面がチカチカなり、1フレーム目と2フレーム目を繰り返しているような現象です。 いまMain.asファイルは2フレーム目にあるインスタンスを参照しているので、ドキュメントクラスを2フレーム目にきたら読み込ませる方法とかあるのでしょうか? すみませんホントに誰かご教授お願いします!!!

    • ベストアンサー
    • Flash
  • Flashでのアルファ値の操作

    こんばんは。 実はflashのaction scriptでのシンボルのアルファ値の変更でどうしても解決できないトラブルがあり、ご質問させて頂きました。 今ムービーの一部で以下のような流れのaction scriptがあります。 ・ムービークリップの1フレーム目  まずフレームアクションでstopしておき、画像をシンボル化したもののアルファ値をonClipEventのenterFrameで+していくフェードイン処理。 アルファが100以上になったらplayする。 ・ 〃 2フレーム目  ムービークリップのアルファ値は扱わずにgetTimer()を使った待機処理 ・ 〃 3フレーム目  1フレームの逆のフェードアウト処理 この動作をaction scriptで行わせた場合に、 アルファ値が100になった瞬間シンボルが1ピクセルか2ピクセル位「縮む」という症状が 現れてしまいました。 つまりフェードインが終わった瞬間画像の横幅が1,2ピクセル程度縮み、待機が終わり再びフェードアウトに入る瞬間縮んだ1、2ピクセルが戻り(広がり)、フェードアウトが始まるという症状です。 もちろん2フレーム目のシンボルのwidthが小さい 等ではなく、actionscriptでこの処理を行った場合のみにこの症状が現れてしまいます。 今までは無理やりモーショントゥイーンで作っていましたがどうしてもこのトラブルを解決したく、ご質問させて頂きました。ご教授よろしくお願い致します。

    • ベストアンサー
    • CSS
  • 納得できないactionscript2.0のサンプルコード

    納得できないactionscript2.0のサンプルコード http://oshige.com/flash/f8/chap01/で紹介されている、「01-3フレーム移動を行うクラス」 のサンプルコードなのですが(リンク先でダウンロードしていただけるとありがたいです)、 理解できない部分があります。 サンプルコードによると、 doll.asで変数loopを宣言しており、 またNaviFrame.as内ではloopの値を用いた処理を記述しているのですが、 変数loopに関係する部分を全て削除しても挙動に変化は見られませんでした。 (手元にあるテキストの説明によると、「loopの値がtrueならフレーム1に戻り、 falseならフレーム移動を行わない」とありますが、 フレーム1に戻る/戻らないの処理は、 if(mc._currentframe == mc._totalframes) {……} の条件分岐だけで事足りるし、変数loopを宣言して条件分岐に用いたところで、 何の意味もなしていないと思うのです) 私には変数loopに関する一連の記述の必然性が全く分からないのですが、 どなたか教えていただけないでしょうか? 意味が無いように見えて、実は意味があるのでしょうか。 それとも、単なる誤植の類いなのでしょうか。 初心者ですので、できるだけ平易な解説でお願いします。

    • ベストアンサー
    • Flash
  • MCの中のActionScript

    初めまして。 本などを参考にスクロールするボタンのMCを作ったのですが、 その中のボタンにgoto And playで2フレーム目に飛ぶスクリプトを書いても、うまく飛んでくれません。 ですが、ttp://www.beautifulnippon.com/のサイトや、 他のスクロールするボタンを押したら別フレームかシーンかわかりませんが、移動しています。 MC中のボタンを押したときにフレーム、シーンが移動させるのにいい方法はないでしょうか? よろしくお願いします。

    • ベストアンサー
    • Flash
  • Flash ActionScript3.0ボタン.

    このまえはじめたばかりの初心者です。FlashCS4です。 Flash ActionScript3.0ボタンでフレームに飛ぶ方法がわかりません・・ AS3.0ではボタンにスクリプトが書けないので メインタイムラインの最初のフレームにスクリプトを書くのですよね? アドレスに飛ぶ方法は this.stop(); // イベントを設定 stage.addEventListener( MouseEvent.CLICK , onClick ); // 画面クリックをするとonClickが動作するイベント function onClick ( event:MouseEvent ) { // URLRequestを設定 var url:URLRequest = new URLRequest( "http://www.google.co.jp" ); // 実際にページに飛ぶ navigateToURL( url ); } こちらであっていますでしょうか・・? これをいじってフレームに飛ぼうとおもうのですが、うまくいきません・・ どなたか、flashサイトでもわかりやすいところがあれば ご伝授おねがいいたします。

    • 締切済み
    • Mac

専門家に質問してみよう