基礎から学ぶActionScript 3.0

trace()関数

全333コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
trace()関数を使うと、スクリプト中の式の値を[ムービープレビュー]で確かめられます。また、無駄な記述がSWFに残らいなように、trace()のステートメントは[パブリッシュ設定]で除けます。
講師:
11:27

字幕

スクリプトが 目的通り 動いているかどうか 確かめるための関数 trace () について ご説明します trace () 関数を使うと スクリプトの中の 変数などの式の値を 出力というパネルに 表示することができます 今 開いている フラッシュムービーの FLA ファイルは 秒針のインスタンスを タイマーのように回転させる アニメーションを作っています この針のインスタンスの インスタンス名は bar_mc です そして フレームアクションを確認しましょう キーフレームを右クリックして アクションパネルを開きます まず最初のステートメントは getTimer () 関数で 現在の経過ミリ秒数をとり それを 1000 で割ることによって 経過時間の秒数を 変数に入れています そして bar_mc は 針のインスタンスでしたね その回転角を 秒数の 6 倍ということで 1 秒で回る角度 回転させるようにしています そして タイムラインを見てみましょう タイムラインは 12 フレームの アニメーションになっています つまり 12 フレームでループして ループするたびに この先頭のフレームの フレームアクションが実行されるわけです フレームレートは 12fps ですから つまり 1 秒間に 1 回 このスクリプトは実行され 1 秒分の角度 針を回す 針のインスタンスを回すという そういうアニメーションです アクションパネルは一回閉じて ムービープレビューで 動作を確認してみましょう 制御メニューから ムービープレビューです 確かに 1 秒刻みで 秒針のように アニメーションしています これ自体は特に 問題はないんですけれども 本当に 1 秒刻みで回っているのか ということを疑う方も いらっしゃるかもしれません そういう方は プログラマーに向いています プログラムが ちゃんと動いているかどうか 正しくチェックする必要があります そのときに使うのが trace () 関数です 一旦 SWF は閉じましょう trace () 関数は スクリプトの中の 式の値を調べます 具体的には ムービープレビューのときに 使う関数です 出力というパネルを開いて trace () 関数の 括弧の中に指定した 式の値を表示します プログラムで 式というのは 数学の計算式のようなものだけでなく 変数など 単独の値も含みます 要するに 値を出すものは何でも この trace () 関数の中に 入れることができます では実際 この trace () 関数を使って 先ほどのスクリプトを 確認してみましょう タイムラインの スクリプトが書いてある キーフレームを右クリックして アクションパネルを開きます この秒数が いくつになっているか 確かめてみましょう trace () 関数を使います trace () の 括弧の中に コピーして入れましょう タイプミスをすると嫌です trace () 関数の使い方は これだけで OK です あとは ムービープレビューを確かめます アクションパネルは 一旦閉じておきましょう 出力パネルというのは タイムラインの並びのタブにあります 今後ろに隠れていますが trace () 関数が実行されると 自動的に前面に出てきます では ムービープレビューを 確かめましょう 制御メニューから ムービープレビューです タイムラインの並び 出力パネルをご注目ください 出力パネルが前面に出て 秒数が スクリプトが実行されるたびに 表示されています これは SWF を閉じるまで ずっと実行されますので 一旦閉じておきましょう 出力パネルに表示された 秒数を見る限り ほぼ 1 秒間隔で スクリプトが実行されていることが 確かめられます ただ この辺りを見ると 分かるように 必ずしも正確に 1 秒間隔ではありません というのは タイムラインの 12 フレームで 1 秒をカウントしています 12 フレームを 1 秒で動くように Flash は努力は するんですけれども 必ずしも きっちりと 1 秒間隔ではなく たまに 厳密に見ると ミリ秒単位ではありますけれども 少し誤差が出てくる ということですね 結果として分かることは 時計の針の角度は ちゃんと 秒数に対して 比例する角度になっているんですが 目盛りと比べた場合 必ずしも 1 秒刻みの目盛り ピッタリの角度には なっていない ということが分かるわけです それが問題かどうかは コンテンツによりますけれども このようにして trace () 関数を使えば 今 どういうスクリプトが実行されて どんな状況なのか という情報が掴めます タイムラインに戻って もう一度 スクリプトを確認します スクリプトが書いてある フレームを選んで アクションパネルを開きます この trace () 関数 最終的にコンテンツを パブリッシュするときには 除いておいた方が良いでしょう もちろん ブラウザには 出力というパネルはありませんから これがあったからといって 目に見える何かが 起こるわけではありません けれども trace () という このステートメントは SWF に書き出しがされます ですから 再生するときに Flash Player は 一応 このステートメント 認識するんですね それは無駄になりますし 場合によっては セキュリティホールになる 可能性があるという指摘もあります ですから 除いておいた方が良いです その場合 もちろん 削除していただいて 構わないんですが もし後で修正が入るかもしれない この trace () 関数を また使うかもしれない という場合には ダブルスラッシュ スラッシュ 2 つを使うと コメントアウトと言いますけれども これはコメントだよ スクリプトではないよ ということを Flash に知らせます そうすると このコメントにした ダブルスラッシュの行は SWF に書き出し自体されません ですから 後でまた 使うかもしれないという場合には コメントアウトの手法を使うと よろしいでしょう trace () 関数に付けた コメントアウトのダブルスラッシュは 一旦 元に戻して アクションパネルを閉じましょう trace () 関数を あちこちで使ってしまって 1 つ 1 つ削除したり コメントアウトするのが 面倒だという場合が 出てくるかもしれません その場合には パブリッシュ設定に 便利なオプションがあります ただし 使い方に注意が必要ですので そのオプションと注意 両方 ご説明いたします ファイルメニューから パブリッシュ設定を開きます そして このパブリッシュ設定の中の 詳細を開けまして Trace ステートメントを省略 というオプションがありますね これは デフォルトでは チェックが付いていません これにチェックを付けると コメントアウトをしなくても スクリプトの中にある 全ての trace というステートメントを除いて SWF に書き出してくれます とても便利ですね じゃあ 何でこれ最初から チェックしておかないのかというと OK ボタンを押して ムービープレビューを 確認してみると分かります では制御メニューから ムービープレビューをします 何かおかしくないですか 出力パネルが 前面に出てきません 先ほど私は trace ステートメント trace アクションの ステートメントに付けた ダブルスラッシュを外しましたから trace が出てこないとおかしいです ところが出てきません これが注意点です 一旦 SWF を閉じます パブリッシュ設定を もう一度開きましょう ファイルメニューから パブリッシュ設定です 詳細が開いています そして Trace ステートメントを省略 この機能を もう一回説明します SWF に書き出すときに trace の入ったステートメントは 除いて書き出します ムービープレビューにしろ パブリッシュプレビューにしろ ActionScript の動作を 確認するときには SWF に書き出したもので 確認しますよね ですから ムービープレビューのときに 出力パネルが出てこなかったのは ムービープレビューの中に 書き出された SWF に書き出された スクリプトの中に trace ステートメントが無いんです つまり これにチェックを入れてしまうと trace が一切使えなくなるんですね ですから これを使うときには 最終コンテンツを書き出すときだけ チェックを入れて そして パブリッシュをします そうすると trace ステートメントが 無いかたちで SWF は作られます でもこの後 修正が入るかもしれませんし trace ステートメント また使いたくなりますよね ですから 必ず OK は押す前に Trace ステートメントを省略の チェックはオフにして 外したうえで OK します つまり パブリッシュする直前に Trace ステートメントを省略を オンにし パブリッシュし 外して OK すると この操作の手順を 必ず守らないと trace ステートメントが 実行されないとか あるいは trace ステートメントを 入れた部分のスクリプトが なぜか処理が抜けているという風に 勘違いしてしまう可能性があります 十分ご注意ください trace () 関数について おさらいしましょう trace () 関数は ムービープレビューのときに 出力パネルを開いて trace () 関数の括弧の中 引数に渡した式の値を 出力パネルに表示してくれる デバッグと言いますけれども ムービーをテストして スクリプトを修正したり あるいは 状況を確認するために 使う関数です とても便利です けれども 最終的にパブリッシュして コンテンツを出力するときには trace () 関数を 使ったステートメントは 外した方が良いです trace () 関数を たくさん使ったとき SWF に書き出すときに trace () 関数を除いてくれる 便利な設定が パブリッシュ設定にありました ファイルメニューの パブリッシュ設定です 詳細の 三角をクリックして 開いておく必要があります そして Trace ステートメントを省略に チェックを入れて パブリッシュをすれば trace () 関数が使われた ステートメントは 全て除かれて SWF に書き出されます けれども そのまま チェックしたまま OK してしまうと 今度はムービープレビューで 出力されなくなりますので OK はする前に 必ずチェックは外してください 以上 trace () 関数の使い方と 注意点を申し上げました

基礎から学ぶActionScript 3.0

このコースではFlashのActionScript 3.0を初めて学ぶ方を対象に、ActionScriptの基礎から実際にプログラミングをするところまで学習していきます。簡単なスクリプトによるオブジェクトの操作の仕方から始まり、変数や関数といったプログラミングの基礎、そしてインタラクティブなコンテンツの作成まで詳しく解説いたします。

6時間30分 (49 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 3,990
発売日:2014年01月16日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。