トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

アクション_Flash

アクション

動きを「プログラム」するときに使用するウィンドウです。Flashでは「ActionScript」というスクリプト言語(Javaライク)で個々の要素を制御することができます。たとえば、テキストを配置した場合、そのテキスト文字列・色・表示位置などをプログラムにて変更することができます。

ActionScriptテキストエディタでの環境設定

デフォルト状態では、背景が白でテキストが黒のテキストエディタになっています。が、一般的に(好みかもしれないですが)プログラムを書く場合はずっとソースコードとにらめっこするわけですので、疲れない設定にすることをお勧めします。エディタでの色を変更することができます。トップメニューの[編集(E)]-[環境設定(S)...]にて、「環境設定」ダイアログが表示されます。ここで、「ActionScript」タブを選択します。

テキストの色・背景色・フォント・フォントサイズを変更することができます。等幅にするために「MS ゴシック」を選択しています。

簡単なActionScriptの使用例

ここでは、簡単に画面に時間(時:分:秒)が文字列として表示され、逐次更新されるサンプルを作ってみます。

ツールより「テキストツール」選択し、文字列をドキュメントに配置します。

このテキストのプロパティは以下のようにしています。ここで注意点として、テキストの種類として「ダイナミックテキスト」、フォントは「_等幅」を選択するようにしてください。フォントは他OSでは鬼門になるところでして、依存関係が少ない「等幅」を選択することで、他OSに移行したときのトラブルを抑えます(ただ、完全にイコールではない点も注意してください)。また、「ダイナミックテキスト」を選択することで、ActionScriptから表示文字列を変更することができるようになります。ActionScriptでのテキスト名として「ItemClock」と指定しています。

タイムラインは以下のようにして、アクション用のレイヤを追加している点に注目してください。別にアクション専用レイヤを作る必要はないのですが、規模が大きくなってきた場合に分けたほうが可読性が増します。

この、アクション用のレイヤの1フレーム目にてActionScriptの記述を行います。

あ、それからアニメーションする(画面更新する)には、必ず2フレーム以降を空でいいですので作成するようにしておいてください。こうしないと、1フレーム目〜2フレーム目となって1フレーム目に戻る、ということができなくなります。

アクションウィンドウにて、ActionScriptのソースを記述します。タイムライン上ではActionScript記述があるフレームにて「a」のマークがつきます。

ActionScriptのソース部は以下のようになります。これは、現在の時分秒を取得して(t = new Date()にて時間を取得)「ItemClock」で示される文字列のtext属性として、「時間:分:秒」の形で代入しています。

//時:分:秒を「ItemClock」に文字列として指定する
t = new Date();
h = t.getHours();
m = t.getMinutes();
s = t.getSeconds();

ItemClock.text = String(h) + ":" + String(m) + ":" + String(s);

このときの「t」が日付情報取得用のオブジェクトです。「getHours()」にて時間を数値で取得します(0-24)。「getMinutes()」にて分を数値で取得します(0-59)。「getSeconds()」にて秒を数値で取得します(0-59)。

そして、「ItemClock」の「text」として(ItemClock.text)、時分秒を文字列に変換しつつ連結していきます。

ActionScriptでは、あいまいではありますが文字列と数値の区別があります。「String(1024)」とすることで、数値「1024」を文字列の"1024"に変換することになります。

逆に文字列を数値に変換するには「cou = parseInt("1024");」のようにします。

以上でswfファイルを生成すると、以下のように1秒ごとにカウントアップされるデジタル時計ができます。

Flash swfファイル:clock1.swf(282)

Flashソース:clock1.fla(306)

Future's Laboratory 技術格納庫 2004-2013 Yutaka Yoshisaka.