« 検索ブログ | メイン | デザイナーのためのActionScript講座 ― 第2回:Booleanと比較演算子 »
2007年10月27日
[連載] デザイナーのためのActionScript講座 ― 第1回:スクリプトは計算式
まずはActionScriptを書く上で、簡単なルールを少し覚えておきましょう。
実際には計算以外にも複雑なことができるのですが、基本的な流れで言えば計算式と捉えてもらえれば分かりやすいと思います。
スクリプトは基本的に左上から処理されていきます。
横書きの文章と同じです。
ただし上の式だと、そのまま左から計算すると、
1+2=3
3+3=6
6*4=24
で、答えは 24 になってしまいますが、そうなると答えが間違っていますよね。
普通は括弧()の中の式が優先され、また足し算、引き算より掛け算、割り算の方が優先される。
これはスクリプトも算数も同じです。
試しに上の式をActionScriptで書いて出力してみましょう。
出力パネルには 21 と出力されたと思います。
ところで、ここで書いたスクリプトには「var a=」が書かれていません。が、出力にはきちんと正しい値が出ています。
これは「1+(2+3)*4」だけで計算のための式は完結しているということです。
では「var a=」は何かと言うと、「a」に、右の式「1+(2+3)*4」を代入していることを表しています。
以下のスクリプトを書いて、もう一度プレビューしてみてください。
このように a は式の値を保持しておいて、後で再度使いたいたい時に、簡単に使えるようにするためのもので、総称して「変数」と呼びます。
「var」は何かというと、この「a」が変数であることを定義するためのものです。
しつこいですがもう一度このスクリプトを見てください。
変数 a の値は 21 で、そこに 2 を掛けた値 42 が出力されたわけです。
それでは上記スクリプトを左上から読んでみてください。
まず、var で a を定義(宣言)して、そこに右側の式の値を代入する。
右側の式というのは 1+(2+3)*4 です。
次の行で、変数 a の値に 2 を掛けて出力する。です。
trace の右にも()がありますよね。この場合の()は必須のものなんですが、それでも考え方は同じで、()の中の式が先に処理されるわけです。
このように変数は後の計算に使いまわしの利く大変便利なもので、使う頻度も一番多いので覚えておきましょう。
ここでもうひとつ。式の中に出てくる"*"や"+"、"="などの記号のことを総称して演算子と呼びます。
この演算子には以下のようなものがあります。
代入
算術演算
算術複合代入
変数と演算子を使用して以下のような計算もできます。
演算子について、変数については、また後日詳しくやりますので、今はまず計算の順序と結果について把握できるようになっておいてください。
実際には計算以外にも複雑なことができるのですが、基本的な流れで言えば計算式と捉えてもらえれば分かりやすいと思います。
1+(2+3)×4=a上の式は単純な計算式ですが、これをスクリプトで書くと以下のようになります。
var a = 1+(2+3)*4;どちらも a の値(答え)は 21 です。
スクリプトは基本的に左上から処理されていきます。
横書きの文章と同じです。
ただし上の式だと、そのまま左から計算すると、
1+2=3
3+3=6
6*4=24
で、答えは 24 になってしまいますが、そうなると答えが間違っていますよね。
普通は括弧()の中の式が優先され、また足し算、引き算より掛け算、割り算の方が優先される。
これはスクリプトも算数も同じです。
試しに上の式をActionScriptで書いて出力してみましょう。
trace(1+(2+3)*4);上記をアクションパネルに書いて、Ctrl+Enter(MacではCommand+return)でプレビューしてみましょう。
出力パネルには 21 と出力されたと思います。
ところで、ここで書いたスクリプトには「var a=」が書かれていません。が、出力にはきちんと正しい値が出ています。
これは「1+(2+3)*4」だけで計算のための式は完結しているということです。
では「var a=」は何かと言うと、「a」に、右の式「1+(2+3)*4」を代入していることを表しています。
以下のスクリプトを書いて、もう一度プレビューしてみてください。
var a = 1+(2+3)*4; trace(a);21 が出力されましたね。
このように a は式の値を保持しておいて、後で再度使いたいたい時に、簡単に使えるようにするためのもので、総称して「変数」と呼びます。
「var」は何かというと、この「a」が変数であることを定義するためのものです。
しつこいですがもう一度このスクリプトを見てください。
var a = 1+(2+3)*4; trace(a*2);出力パネルには 42 が表示されます。
変数 a の値は 21 で、そこに 2 を掛けた値 42 が出力されたわけです。
それでは上記スクリプトを左上から読んでみてください。
まず、var で a を定義(宣言)して、そこに右側の式の値を代入する。
右側の式というのは 1+(2+3)*4 です。
次の行で、変数 a の値に 2 を掛けて出力する。です。
trace の右にも()がありますよね。この場合の()は必須のものなんですが、それでも考え方は同じで、()の中の式が先に処理されるわけです。
このように変数は後の計算に使いまわしの利く大変便利なもので、使う頻度も一番多いので覚えておきましょう。
ここでもうひとつ。式の中に出てくる"*"や"+"、"="などの記号のことを総称して演算子と呼びます。
この演算子には以下のようなものがあります。
代入
| = | 右側の値を左側の変数に割り当てます。 |
算術演算
| + | 数値を加算します。(足し算) |
| - | 符号反転や減算に使用します。(引き算) |
| * | 2 つの式を乗算します。(掛け算) |
| / | 左の値を、右の値で除算します。(割り算) |
| % | 左の値を、右の値で割ったときの剰余を計算します。(余りを求める) |
| ++ | 変数に 1 を加算します。 |
| -- | 変数から 1 を減算します。 |
算術複合代入
| += | 左側の変数に、右側の式を加算して割り当てます。 |
| -= | 左側の変数に、右側の式を減算して割り当てます。 |
| *= | 左側の変数に、右側の式を乗算して割り当てます。 |
| /= | 左側の変数に、右側の式を除算して割り当てます。 |
| %= | 左側の変数に、右側の式で剰余した値を割り当てます。 |
var a = 2*(a=6)+5*a; trace(a);
var a=5, b, c; c = 100-((b=a*2)*(a*a+b)/a); trace(c);
var a, b; b = a = (6+4)*4; trace(a); trace(b);
var a = 2; a *= 2; trace(a);
var a = 0; trace(a++); trace(a);
var a = 0; trace(++a); trace(a);
var a = 2; a += (++a)*a; trace(a);いろいろな式を書いては出力してみて、どんな結果が出るのかを試しつくしてみてください。
演算子について、変数については、また後日詳しくやりますので、今はまず計算の順序と結果について把握できるようになっておいてください。
トラックバック(0)
このブログ記事を参照しているブログ一覧: デザイナーのためのActionScript講座 ― 第1回:スクリプトは計算式
このブログ記事に対するトラックバックURL: http://system.seyself.com/mt-tb.cgi/454

はじめまして。
サンプルをいじったり参考書を買ったりしてみましたが、進歩がなく途方にくれていた中、
たまたま、こちらのblogを見つけました。
第0回の「対象とする人」を読んで、ぴったりの状態の私は感銘を受け、こちらで勉強させていただこうと思いました。
よろしくお願いします。