アクションスクリプトってどんなものか簡単に教えて下さい。
FLASH2で止まりで、これからFlashMXの勉強を始めようと思ったので。
よろしくおねがいします!

A 回答 (2件)

私自身勉強中ですので本当に簡単に書かせて頂きますね。



ボタンオブジェクトやタイムラインに組み込み、処理の分岐や関数による動作の制御を行うスクリプト。
ユーザーによる操作に対応したり、単純なトゥイーンでは難しいアニメーションを作成するときに威力を発揮する。

といった感じです。
Windows版をご希望でしたら参考URLから先行ダウンロードが始まっていますので、チュートリアルを御覧になりながら試されるのも良いと思います。

参考URL:http://www.macromedia.com/jp/software/flash/trial/
    • good
    • 0
この回答へのお礼

回答ありがとう。だいたいわかりました。
体験版をダウンロードしてみます!

お礼日時:2002/03/19 12:41

先程の補足です。


ダウンロード出来るのはトライアル版ですので、試用期間が設定されています。
継続して御使用になる場合は本製品をお買い求め下さい。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QFlashMXアクションスクリプトの記述で分からないのですが…

 現在FlashMXのアクションスクリプトを勉強中で購入した書籍に、マウスカーソルを動かすとカーソルに着いていき波紋が広がるというのがあるのですが、マウスカーソルがステージ上からなくなっても波紋が残ってしまいます。この波紋を残さないようにする記述方法をどなたか教えて下さい。WindowsXP環境です。

onClipEvent (load) {
if (_name == "mc") {
_visible=false;
max = 10; //複製する個数
for (i=0; i<max; i++) {
this.duplicateMovieClip(i, 100+i);//複製
}
}
}
onClipEvent (mouseMove) {
if (_name == "0") {//一つ目のmcはマウスの座標とする
_x = _parent._xmouse;
_y = _parent._ymouse;

} else {//それ以後は自分の名前から-1引いたインスタンス名の座標を取得する
_x = _parent[int(_name)-1]._x;
_y = _parent[int(_name)-1]._y;
}

updateAfterEvent();
}

と記述されています。インスタンスmcはシェイプトゥイーンで、円が徐々に大きくなり、消えていくアニメーションを設定しています。

 現在FlashMXのアクションスクリプトを勉強中で購入した書籍に、マウスカーソルを動かすとカーソルに着いていき波紋が広がるというのがあるのですが、マウスカーソルがステージ上からなくなっても波紋が残ってしまいます。この波紋を残さないようにする記述方法をどなたか教えて下さい。WindowsXP環境です。

onClipEvent (load) {
if (_name == "mc") {
_visible=false;
max = 10; //複製する個数
for (i=0; i<max; i++) {
this.duplicateMovieClip(i, 100+i);//複製
}
}
}
onClipEvent (mouseMove)...続きを読む

Aベストアンサー

> デフォルト後の表示に関しては教えて頂いた記述で出来たのですが、・・・

ということは、カーソルについていく波紋は表示されるということで、よろしいですか?
そうなると、スクリプトのエラーが原因ではなさそうですね。
スクリプトの中に全角のスペースが入っているとエラーになりますが、半角のスペースとタブは無視されます。ただし、 "" で囲った文字列の中では別で、例えば、 "mc" と " mc " は違う文字列と見なされます。(文字列の中では全角のスペースもエラーにはなりません)
インスタンス名が「mc」の場合、

 ・if ( _name != "mc" )  → 条件不成立、if 文内のスクリプトは実行されない
 ・if ( _name != " mc ")  → 条件成立、if 文内のスクリプトは実行される

となります。


#1のスクリプトをコピーしても症状が出るというのは、こちらでは確認できませんでした。(ちなみに当方の環境も、WindowsXP、Flash MXです)
一応、下のようにスクリプトを書き直しましたので、こちらも試してみてください。ちょっと違いますけど、やっていることは同じです。トラブルの原因にならないよう、インデントは付けていません。見辛くて申し訳ありませんが、コピー&ペーストでそのまま使えます。
なお、問題のあるスクリプトはすぐには削除せず、/* と */ で囲んでコメントにし、一時的に無効にしておくと、後で戻したくなった時に便利です。(戻す時は、コメントの記号を削除するだけで簡単に戻せます)


onClipEvent (load)
{
if ( _name == "mc")
{
_visible=false;
max = 10; //複製する個数
for (i=0; i<max; i++)
{
this.duplicateMovieClip(i, 100+i);//複製
}
}
}

onClipEvent (mouseMove)
{
//ステージに置いたムービークリップは常に不可視
if ( _name == "mc" )
{
_visible = false;
}
//複製したムービークリップは可視属性と位置を変更する
else
{
//カーソルがステージ内にある場合はmcを可視にし、
//座標を決める
if (_parent._xmouse >= 0 && _parent._ymouse >= 0 &&
_parent._xmouse <= 550 && _parent._ymouse <= 400 )
{
_visible = true;

//一つ目のmcはマウスの座標とする
if (_name == "0")
{
_x = _parent._xmouse;
_y = _parent._ymouse;
}
//それ以後は自分の名前から-1引いた
//インスタンス名の座標を取得する
else
{
_x = _parent[int(_name)-1]._x;
_y = _parent[int(_name)-1]._y;
}
}
//カーソルがステージ外にある場合はmcを不可視にする
else
{
_visible = false;
}
}

updateAfterEvent();
}


前回は、インスタンス名が「mc」でなければ、カーソルの位置を見て可視属性と座標を決めていたわけですが、今回は、インスタンス名が「mc」の時は無条件で不可視に、それ以外は・・・という処理になっています。
これでもなお問題が残るとなると、スクリプト以外のところに原因があるのかも知れません。それはちょっと、心当たりがないのですが、、、

> デフォルト後の表示に関しては教えて頂いた記述で出来たのですが、・・・

ということは、カーソルについていく波紋は表示されるということで、よろしいですか?
そうなると、スクリプトのエラーが原因ではなさそうですね。
スクリプトの中に全角のスペースが入っているとエラーになりますが、半角のスペースとタブは無視されます。ただし、 "" で囲った文字列の中では別で、例えば、 "mc" と " mc " は違う文字列と見なされます。(文字列の中では全角のスペースもエラーにはなりません)
インスタンス名...続きを読む

QFLASHアクションスクリプトに注釈文

Windows2000
FLASH MX のアクションスクリプトを勉強はじめました。
色々のサンプルを参考にして理解できたことをアクションスクリプトの記述の中に注釈文として残しておきたいのですが、注釈文の記述の方法がわかりません。

文頭に ! や ’や ”をつけてみましたがエラーになります。
それともFLASHのエディタではAccessVBAやHTMLタグのように記述できないのでしょうか。

Aベストアンサー

C言語風のコメント

// や /* ~ */ が使えるんじゃないでしょうか?
一度お試しくださいませ。

QFLASHのアクションスクリプトで回転の際の中心点

FLASHでムービーをつくり、アクションスクリプトを使って回転させました。
onClipEvent(enterFrame){
_rotation += 10;
}

ちゃんと回転してますが、意図する中心点と違うところを中心点として回転しています。
自分で「ここだ!」と指定することはできますか?

Aベストアンサー

ムービークリップを ActionScript で変形する際は、シンボルの中心点が基点になります。
(ちなみに _x や _y プロパティも、シンボルの中心点の座標です)
シンボルの編集画面の中央にある+の印が、シンボルの中心点です。変形の中心がここにくるようにシンボルを描画するか、描画済みの場合はオブジェクトを移動してみてください。


スクリプトで任意の座標を中心点に指定することはできません。
ムービーの編集画面で「修正」→「変形」→「中心点の編集」を選択すると、インスタンスの中心点を移動できますが、これはインスタンスを変形ツールで変形する時の中心点であって、スクリプトで変形する時の中心点とは別のものです。
同じシンボルから複数のインスタンスを作っており、1つは中央、1つは上端・・・というように回転の中心点を変えたいのなら、回転した後で座標を操作して、それらしく見えるようにしてはいかがでしょう。

QFLASH MX アクションスクリプト・・・

FLASH MX アクションスクリプトでノーマルモードでボタンをDOWNしたらアニメーションが再生されるようにしたいのですが、ボタンをDOWNに
押しっぱなしにしないとアニメーションが最後まで再生されません。
ボタンのDOWNを1回押したらすべてが再生されるようになるにはどうしたらよいですか? 教えてくださいm(_ _)m

Aベストアンサー

イミフメイです。

とりあえずこちらの,
2ページを参考にしてみてください↓。

「stop();とplay();を覚えよう。」
http://www.1art.jp/flash/le/lesson13/lesson13.htm

「onイベントハンドラ」
http://www.1art.jp/flash/le/lesson16/lesson16.htm



普通はボタンに,
---------------------
// マウスダウンしたときしたときにplay();
on (press) {
play();
}
---------------------

もしくは,
---------------------
// クリックしたときにplay();
on (release) {
play();
}
---------------------

で動き続けるものです。
上記 // は注釈行(コメントアウト)です。
ActionScript 中にあってもなくても実行では無視されます。

play() は,ムービークリップクラスの(ムービークリップを対象オブジェクトとした)メソッドですから,
実際は,

 MovieClip.play();

となり,上の場合,
---------------------
// マウスダウンしたときしたときにplay();
on (press) {
this.play();
}
---------------------

---------------------
// マウスダウンしたときしたときにplay();
on (press) {
_root.play();
}
---------------------
と同じ意味になります。
これらの省略形と思ってくだされば良いです。




> 押しっぱなしにしないとアニメーションが
> 最後まで再生されません。

いったいどんな複雑なことをされているのでしょうか?
Flash は,基本的に何も書かないと,勝手にアニメーションする(次のフレーム次のフレームへと進む)仕様になっています。
押しっぱなしにしないとアニメーションが最後まで再生されないようにするというのは,
けっこう難しいことなのですよ。

例えば,上の1つめの頁のように,
複数フレーム用意しておいて,

フレーム1 に,
-------------------
// とりあえず止まれ
stop();
// 変数 flag の値を 0 にする
flag = 0;

// 以下 1フレーム進む時間ごとに毎回実行
this.onEnterFrame = function() {
// 変数 flag の値が 0 であれば
if (flag == 0) {
// やっぱり止まれ
stop();
// 変数 flag の値が 1 であれば
} else if (flag == 1) {
// このときだけ次のフレームへ
nextFrame();
}
};
-------------------

というスクリプトを用意して置いて,

ボタンには,
-------------------
// ボタンを押したら flag を 1 にする
on (press) {
_root.flag = 1;
}

// ボタンを離したら flag を 0 にする
on (release, dragOut) {
_root.flag = 0;
}
-------------------

というようなことを書けば(コピペすれば),
ボタンを押しているときだけにしかアニメーションは再生されません。

しかし,これが書けるくらいの人でしたら,
DOWNを1回押したらすべてが再生されるようになるなんてことは,
普通の場合,楽々簡単です。



============================

とにかく,
かなり普通ではないことをされているようですね。
それに,上で最初に書いた

-----------------------
// クリックしたときにplay();
on (release) {
play();
}
-----------------------
のようなことは,
ムービークリップクラスとか小難しいことは抜きで,
Flash を初めて,普通は3日目くらいまでにはわかることです。

その前提もなく,いきなり妙なご質問をされるということは,
どこかにあった FLA サンプルなどを触って,
作りかえようとされているのだろうと勝手に推測します。

もしこの推測が当たっていれば,
その FLA サンプルは使い物になりません。
すぐに,その作りかえ路線は変更することをお薦めします。
かなり Flash に達者な人でも,他の人が作成したような FLA ファイルは理解できないものです。
図説などがたくさんあって,一からちゃんと説明してあるようなFlash解説本を買って,
それにしたがって,一から作っていくのが早道です。
Flash MX の本も探せばまだあると思います。


また,
他の人が作った FLA であれば,
「ちゃんとどうなっているのか説明してください。」
という補足要求にも答えられないと思います。


もし,そうでない場合は,
この回答の ====== より上↑を理解した上で,
どういう状況で,どういう ActionScript を書いた場合,
> 押しっぱなしにしないとアニメーションが
> 最後まで再生されません。
という普通では考えられない怪奇現象が起きるのか,
補足をおねがいします。


============================

ついでに…
ノーマルモード とか エキスパートモード とかは,どうでも良いことです。
そんなことは,こちらにも,ActionScript にも関係ありません。

ちなみに私は,
「秀丸エディタ」 というテキストエディタで上のスクリプトを書いて,
http://hide.maruo.co.jp/software/hidemaru.html
Flash MX に貼り付けて動作検証しました。
愛用の ATOK(ジャストシステムの日本語入力システム)に,
ActionScript を辞書登録していますから,
上に書いたスクリプトくらいは,
この回答を「秀丸エディタ」で書きながらすぐに書けるのです。

と,このことは事実ですが,
そんなことをここに書いても,質問者の方にはどうでも良い関係のないことでしょう。

何でしたら「メモ帳(Notepad)」でも良いと思いますし,
「SE|PY」 とかいう ActionScriptエディタでも,
http://www.sephiroth.it/python/sepy.php
「SASEditor」 とかいう ActionScriptエディタでも良いと思います。
http://kibinokuni.zdap.jp/sas_editor.html

ノーマルモード とか エキスパートモード とかは,
作る方が作りやすいように作れば良いだけです。
その辺は,好きなように作ってください。

イミフメイです。

とりあえずこちらの,
2ページを参考にしてみてください↓。

「stop();とplay();を覚えよう。」
http://www.1art.jp/flash/le/lesson13/lesson13.htm

「onイベントハンドラ」
http://www.1art.jp/flash/le/lesson16/lesson16.htm



普通はボタンに,
---------------------
// マウスダウンしたときしたときにplay();
on (press) {
play();
}
---------------------

もしくは,
---------------------
// クリックしたときにplay();
on (release) {
play();
}
-...続きを読む

QFLASH のアクションスクリプトを教えて下さい。

HTMLに埋め込んだFLASHをクリックすると
別ページのHTMLへ飛ばさせられる
アクションをどうか教えてください。

自力では不可能で困っております。
詳しい方、どうぞよろしくお願いします。

Aベストアンサー

うまくいってよかったです。で、フレームにひらく方法ですが、
フレームに「名前」はついてますか?
ついていれば、その「名前」をターゲットにすればOKのはずです。

念のため、この「名前」はフレームファイルの名前とかではなく、HTMLでフレームに付けるターゲットネーム(なんていう言い方でいいのだろうか‥;)です。タグで言えば、<frame‥‥>でフレームの指定をしている中に、name="menu" のように指定してつけます。(この場合、"menu"が名前です)わかりにくかったらすみません;
HP作成ソフトの場合、おそらくフレームの属性などで名前が付けられるようになっているのではないかと思います。

で、この名前をターゲットにして、_menu とすれば、そのフレーム内にひらくはずです。
フラッシュからじかにこれをやったことはないんですが、できるはずです(;)。


このカテゴリの人気Q&Aランキング

おすすめ情報