ちょっと根本的な質問なのですが、
ActionScriptはどこに書くのが流行というかスマートだとされているんでしょうか?
私は普段、まとめて書いたほうが後で探しやすいだろうと思って
全てステージに書いています。
ネット上でサンプル等を落としてみるとムービークリップに書いているものをよく見るので、自分のやり方は主流ではないのかな?と若干心配になりました。
でもMCに書いていると、MCが多くなった時にスクリプトを探すのが大変ではないでしょうか?
それと、普段はボタンは使わずシンボルはすべてムービークリップにして使っていますが、これもあまりよくないでしょうか?
いまいちボタンの存在意義がわかっていないのかも知れませんが、
ボタンでないと出来ない事などはあるのでしょうか?
完全に独学な上に、今までほかの人と意見交換などをする機会もなかったので
ここで質問させていただきました。
意見いただければ幸いです。
No.2ベストアンサー
- 回答日時:
ActionScriptでゲームやヴィジュアルサイト、動画再生コンテンツを仕事として作っている者です。
一応仕事上での定石を書いておきます。
まず、タイムライン上にスクリプトを書く事はほとんどしません。
stopやgoto~ぐらいでしょうか?
ボタンの作成も、マウスカーソルを重ねたとき(ロールオーバー)やクリック時の動作等は全てASファイルに記述し、MCにクラス指定をする事で読み込ませて対応しています。
なぜか?
>でもMCに書いていると、MCが多くなった時にスクリプトを探すのが大変ではないでしょうか?
これに対応するためです。
他ページへの移動やランダム処理等、同じ様な処理をコピペで複数のMCに記述するのも良いですが、修正するのが大変です。
スクリプトの一元管理のためには、ASファイルによるクラス化は必須です。
これはAS2.0でも3.0でも同じです。
クラス化の方法や詳しい概念はここで記述するには長くなるので割愛させていただきます。
代わりにお勧めの書籍を紹介します。下記URLの物です。
AS3.0で、なおかつ4,000円と高価な本ですので、趣味で楽しまれているには不要と思いますが、より高度なフラッシュを作成したいと言う事であればまず強く購入をオススメします。
http://www.amazon.co.jp/gp/product/4881665901/re …
クラス化の方法や詳しい概念はネットで検索するだけでも、色々と役に立つブログやサイトがあるので探してみてください。
また、このクラスと言う概念を理解すると、他のクリエーターが作成されているライブラリを活用する事が出来ます。
XMLの簡単な処理、スクリプトによるモーショントゥィーン(タイムラインで行うより遥かに滑らかで簡単!!)、3D表現、物理演算。
これらの事がものすごく短時間で実現可能となります。
どちらにせよ、今後のヴィジョンとやりたい事によると思います。
クラスの概念の理解にも、それなりの時間と努力は必要ですから。
ただ、Flashで出来る事は皆さんが思っている以上に増えています。
せっかく高価なソフトを使うのであれば、こう言った所に目を向ける事も面白いのではないかと思います。
お礼が大変遅くなり、申し訳ありません。
回答ありがとうございます。
職業としてされている方なら、基本は外部ファイルにするのですね。
asを外部で、というのはやったことがないのですが、
これから挑戦してみようと思います。
No.3
- 回答日時:
個人的な意見ですが参考までに
おそらくtkmojoさんは色々試されていると思います。
スクリプトをステージに書く。
ボタンをムービークリップで作るなど。
個人的には色々な書き方を知っていれば
あとはCaseByCaseで書いていけばよいのではないでしょうか?
一緒に作業する人、引き継ぐ人に合わせる。
2.0的な書き方になれた人ならボタンを使う構築にするとか。
これから3.0的な書き方に少しでも近づけたい
と言うならステージのみに書いていくとか。
(厳密には3.0は書き方が違いますが)
>でもMCに書いていると、MCが多くなった時にスクリプトを探すのが大変ではないでしょうか?
ご存知かもしれませんが
こちらに関してはアクションパネルの左側に
インスタンス一覧が出ます。
そこでインスタンスをクリックすると
mcに書かれているスクリプトを見れるので便利です。
逆の場合もインスタンス名が<>つきで表示されますよ。
>ボタンでないと出来ない事などはあるのでしょうか?
こちらに関しては私の知る限りではないと思うのですが。。。
まとめますと今の書き方でいいと思います。
ちなみに私も同じ書き方です。
お礼が大変遅くなり、申し訳ありません。
回答ありがとうございます。
自分のやり方が主流なのかどうかよくわからずやってましたが、
回答を見て安心したのでとりあえず今のままで進んでいこうと思います。
No.1
- 回答日時:
> ネット上でサンプル等を落としてみるとムービークリップに
> 書いているものをよく見るので、
> 自分のやり方は主流ではないのかな?
> と若干心配になりました。
onClipEvent() のことですか?
もしそうであれば,
それはおそらく古いサンプルでしょう。
現実問題,
onClipEvent() は Flash5 で登場して,
FlashMXでは MovieClip.on○○ にほとんど取って変わられてしまいましたから,
その命は短命だったと思います。
MC や ボタン 自体にスクリプトが書けるのは,今のところActionScript2.0 までです。
FlashCS4 や CS5 などで仕様変更がないかぎり,ActionScript3.0 では,
ムービークリップにもボタンにもスクリプトは書けません。
その点,
主流であってもなくても(そんなことはどうでも良いのですが),
フレームに書く習慣というものは大切だと思います。
> でもMCに書いていると、
> MCが多くなった時にスクリプトを探すのが大変ではないでしょうか?
うーん... それは何とも言えませんね。
逆に フレーム に書いた方が,
「このMCを動かしているスクリプトはどこにあるの!!!??」
って探すのが大変な場合もあるかもしれません。
動かしたいMCに
たとえば次のように書いておけば自動的に動きます。
onClipEvent (enterFrame) {
this._x += 10;
if (this._x>=Stage.width+100) {
this._x = -100;
}
}
インスタンス名も何も不要です。
ステージに配置した目の前にあるそのMCに対して,
「動け!」
と書いているだけのことで,
オブジェクト指向とか抜きで主観的に動かせます。
またMCの一番の特徴(メリット)は,
「ムービーの中にムービーを持てる。」
=「世界の中に別世界を構築できる。」
ということです。
たとえばMCの中に複数フレームを持たせて,
その中に色々なアニメーションを作成できるわけです。
そのムービークリップ内アニメーションの最終フレームで stop() させたい場合は,
ムービークリップ内タイムラインの最終フレームに stop() を書くべきです。
_root のフレームからずっとMCのタイムラインを監視させて,
最終フレームに達すればそのMCを stop(); させることは可能ですが,
普通はそういう方法は取るべきではありません。
ムービークリップがたくさんあればあるほど,
その最終フレームに stop() を書くべきです。
onClipEvent() は使わないにしても,
やはりMCの中にスクリプトは書くべき場合は多々多々あると思いますから,
そういったものまで含めると,
MC にスクリプトを書くことは凄く大切なことだと思います。
> それと、普段はボタンは使わずシンボルは
> すべてムービークリップにして使っていますが、
> これもあまりよくないでしょうか?
良くないことは決してありませんが,面倒くさいでしょう。
ボタンなら自動的に何も指示しなくても,
「アップ」フレームには普通の状態の絵
「オーバー」フレームにはマウスを乗せたときの絵
「ダウン」フレームにはボタンを押したときの絵
をそれぞれ用意すればあとは,
そのボタン.onRelease = function(){
gotoAndPlay(5);
};
や,そのボタン自体に,
on(release){
gotoAndPlay(5);
}
と書くだけでボタンとして機能しますから楽チンです。
(ただし,ボタンの場合融通の利いた反応を見せてくれません。たとえばトグルボタンのような動き。)
楽か楽でないかというだけの違いと,
on(release){
gotoAndPlay(5);
}
などを使った場合,階層をそんなに気にしなくて良いというのがボタンのメリットです。
使いたくなければまったく使う必要はありません(怒っているのではなくて,ホントにそう思います。)。
しかし,
ムービークリップの onClipEvent() はどうでも良いとして,
ボタンはやはり,
ボタンに直接書く on(release) などが使えた方が主観的で良くないでしょうか?
と私は思います。
「ボタンはクリックすれば動くような命令が書ければそれで良い!
なぜわざわざインスタンス名を付けて
関係のないフレームにスクリプトを書かねばならないんだ!?」
なんて方はたくさんいらっしゃると思います。
それに一般的に身近な言語(JavaScript や HTML の onClick などや VBA のボタン自体に書けるプログラムなど)では,ボタンに実行命令を書いたりボタンから function などを実行できます。
現在の ActionScript3.0 だけが非常に特殊に思えます。
プログラミング的にはどうであっても,
人間の普通の感性として,「そのものに対して教え込ませる(犬に対してお手をさせる)」ような感覚は普通あるのではないかと思います。
そういう方は多いと思うので(実際に多いので),
仕様変更はあるかもしれませんが,
とにかく現在は「フレームに書く」というのが主流ですし,
その方法を使っていて決して間違いではありません。
一応参考まで。
超一流のプロの方々の談義です。
「FLASH-JP.COM - フォーラム on(release)がなくなる!?」
http://www.flash-jp.com/modules/newbb/viewtopic. …
(この談義は延々と11ページに渡ります。時間があってもし読む気になればと言う意味で書いただけです。決して読んだ方が絶対良いという意味のものではありません。)
お礼が遅くなり、大変申し訳ありません。
回答ありがとうございます。
確かにムービークリップに直接書くのも直感的にわかりやすいですよね。
3.0でボタンやMCに書けないというのは知りませんでした。
今は2.0を使っていますが、3.0を勉強していつか移行する際にスムーズにできるよう、
今まで通りフレームに書くようにしていこうと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- スピーカー・コンポ・ステレオ MCカートリッジのオススメを教えてください。 お時間割いてくださりありがとうございます。 当方、現在 10 2022/07/04 14:20
- その他(ビジネス・キャリア) 海外から請求書がきたのですがPC/MCの意味がわからないのとそこの数字があってるのかわからなくて海外 2 2022/11/08 11:32
- 教えて!goo ベストアンサー、お礼の仕方教えてください。 ベストアンサーやお礼をしたくてもボタンが見つかりません。 2 2023/01/13 18:49
- スピーカー・コンポ・ステレオ ドライブ中に使うBluetoothスピーカー 5 2022/06/08 10:53
- 教育学 道徳的情操教育について質問です。 学校などの公的教育機関により情操教育を徹底し、感情を制御したり、他 2 2022/03/31 15:35
- 建築士 建築士製図試験での縦距離の数値の書き方を教えて下さい 3 2023/07/16 11:36
- Facebook Facebookのフォロワーについて教えてください 5 2023/04/13 09:31
- Facebook Facebookの投稿欄が変に? 投稿できない! 1 2023/04/12 14:45
- 日本語 「いう」と「ゆう」 シニアです。「日本語の乱れがー」とか「国語教育がー」などと言いたいわけではありま 15 2022/05/14 18:27
- 据え置き型ゲーム機 PS4コントローラのリセット確認方法 1 2022/10/01 10:57
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ムービークリップの中のボタン...
-
VB 基本的なプログラム √ ...
-
FlashからPHPへの値の受け渡し
-
FLASH MX ロールオーバーボタン
-
arduino プログラムについて
-
移動位置が狂ってしまう
-
VBAで改行の入ったデータの正規...
-
YOASOBI
-
別のアプリケーションのテキス...
-
プログラミング、アーキテクチ...
-
photoshopで書いた四角の枠の中...
-
DataTableの件数を取得したい
-
ipconfig /releaseって何ですか?
-
python ボタンを押すと複数の関...
-
PYTHONのtkinterについて
-
VBScriptでMsgBoxのYesNoボック...
-
UWSCのBTN関数について。
-
VB6.0 でメニューを作りたいん...
-
VBAユーザーホームテキストボッ...
-
Pythonのtkinterについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
arduino プログラムについて
-
×ボタンを無効化したいのですが...
-
ボタンの上にカーソルを置いた...
-
flashでボタンを押したら違うサ...
-
FLASHで印刷ができません
-
ボタンをクリックするとフェー...
-
クリック押下中にキーボードを...
-
ボタンインスタンスにスクリプ...
-
MCの中のActionScript
-
ボタンの重ね順について
-
swapDepths について
-
FLASH ボタンフォーカスインし...
-
メニューボタンを押されたまま...
-
外部SWF読み込み後の座標指定
-
FLASHでドロップダウンメニュー...
-
FLASHで画面の最大化と100%表示...
-
flash 計算機について
-
虫眼鏡拡大ムービーの中にボタ...
-
attachMovie後のプロパティ参照
-
photoshopで書いた四角の枠の中...
おすすめ情報