サイトトップ

Director Flash 書籍 業務内容 プロフィール


アッと驚く達人の技Flash MX ActionScript実践技&ウラ技大全
補足および正誤表

本書は、私を含めた4名による共著です。最終原稿は、株式会社C&R研究所の編集部がリライトして作成しています。そのため、紙幅の制約や書籍全体のデザイン上割愛された部分も少なくありません。本サイトでは、読者が書籍で扱われている内容を正確により深く理解できるよう、解説の補足および記述の修正を掲げます。

補足解説
032 ランダムに犬の足跡を表示する(p.82)
045 キー操作でムービーの表示状態をコントロールする(p.111)
Sound.loadSoundメソッドでイベントサウンドを読込んで再生する(p.163「外部サウンドの読み込みには『loadSound()』メソッドを利用せよ」)
外部SWFムービー内のfunctionをロード直後に呼出す(p.172「外部SWFファイルのfunctionの利用方法!」)
ボツネタ: コードヒントの活用(第5章向け原稿をテクニカルノートに改編)

この正誤表には、単純な「誤り」以外に、より正確あるいは理解しやすい表現にするための修正・追加も含まれています。また、私の担当部分以外についても、気づいた範囲で掲載することにします(2003.3.1作成)。

ページ/行
23ページ下から4行目 「『gotoAndPlay()』メソッドの引数にシーン名の記述を含めます」

「『gotoAndPlay()』アクションを使い、引数にシーン名の記述を含めます」
*引数に「シーン名」を指定できるのは、メソッドではなくアクションです(p.30「シーンの移動にはメソッドではなくアクションを利用せよ」参照)。

51ページ下から3行目 「『Windowsプロジェクタ(exe)』のみをONにして[OK]ボタンをクリックします」

「『Windowsプロジェクタ(exe)』のみをONにします」
*[OK]ボタンをクリックすると「パブリッシュ設定」ダイアログボックスが閉じてしまいます。なお、[OK]ボタンをクリックすると、それ
がそのムービーのパブリッシュ設定になります(以降は[ファイル]-[パブリッシュ]で、プロジェクタが作成されます)。

59ページ12行目 「X座標距離、Y座標距離から2点間の傾き(ラジアン)を算出するメソッドです」

「X座標距離、Y座標距離から2点とX軸との間の角度(ラジアン)を算出するメソッドです」
*「傾き」は、Y座標距離/X座標距離で表される値です。三角関数を使うとtanθ(θは原点と座標を結ぶ直線がX軸と成す角度)で表されます(atanではありません)。

59ページ下から13行目 「2点間のX座標距離とY座標距離から傾きを算出することができます」 「2点間のX座標距離とY座標距離からX軸との間の角度を算出することができます」
59ページ「達人からのアドバイス」 角度」(「このメソッドで返される値の単位は『角度』ではなく『ラジアン』なので」など) ラジアンに対して円周一周を360度とする角度の単位は、「度数」と表記すべきでしょう。ラジアンも角度を表す単位だからです。
146ページ14行目 「テキストファイルの文字コードを変更できない場合やいくつかのテキストファイルで文字コードが混在している場合は、エンコーディングの設定を行う」 「テキストファイルの文字コードを変更できない場合は、エンコーディングの設定を行う」
*文字コードは混在すべきではありません。
152ページ下から4行目 「変数『undefined』に設定する値には 「変数『EOF』に設定する値には
*「undefined」は特別な「値」です。
155ページ下から13行目 「『XML.onData』はイベントハンドラメソッドにあたるため、次のように『function』を定義して、インスタンスを生成するためのコンストラクタを宣言する必要があります」 「『XML.onData』はイベントハンドラメソッドにあたるため、次のように『function』を定義します。また、インスタンスを生成するためのコンストラクタを実行する必要があります」
*イベントハンドラメソッドの定義とコンストラクタの実行は、別個の処理です。
77ページ下から8行目 s = new Sound();
s.loadSound("scene1.mp3", false);
s.start();

s = new Sound();
s.onLoad = function(success) {
  if (success) {
    this.start();
  }
};
s.loadSound("scene1.mp3", false);

*補足解説「Sound.loadSoundメソッドでイベントサウンドを読込んで再生する」参照。
172ページ2行目 Flashファイルの中にさらにSWFファイルを表示した『入れ子』状態のムービーでは、子のムービーを読み込んだ直後に『onClipEvent(load)』などで子のムービーに対する『function』を呼び出す処理を行うことができません。ここでは、イベントやメソッドを使わずに『function』を呼び出す方法をご紹介します 外部SWFムービーの中に定義された『function』を、『MovieClip.loadMovie』メソッドでロードした直後に呼出したい場合があります。けれど、メソッドを実行した直後に『function』を呼出そうとしても、呼出せません。SWFの読込みが『function』を実行できる段階にまで至っていないからです
*補足解説「外部SWFムービー内のfunctionをロード直後に呼出す」参照。
172ページ7行目 『function』を呼び出す方法として『onClipEvent(load)』や『MovieClip.onLoad』が考えられます。しかし、『onClipEvent(laod)』を利用するには、親と子のどちらのFlashファイルに対する処理か判別する必要があります

MovieClipアクションの『onClipEvent (load)』イベントハンドラアクションに設定することが、ひとつ考えられます。『MovieClip.loadMovie』メソッドで外部SWFをロードすると、読込みが完了したときにこのハンドラが呼出されます。

けれども、『onClipEvent (load)』ハンドラは、外部SWFを読込む前に、そのターゲットのMovieClipがフレームに登場したときにも1度呼出されます。外部SWFをロードしたときだけ処理を実行したいとすれば、その判別のためのスクリプトを書かなければなりません

172ページ9行目 「『MovieClip.onLoad』は、『MovieClip.loadMovie』によって外部SWFファイルが読み込まれると、ユーザーが定義したすべての変数やプロパティがクリアされてしまします」 「『MovieClip.onLoad』は、『MovieClip.loadMovie』メソッドと組合わせて使うことができません。メソッドによって外部SWFファイルが読み込まれると、ユーザーが定義したすべての変数やプロパティがクリアされてしまします。『MovieClip.onLoad』メソッドの定義も、このクリアされるプロパティに含まれてしまうからです
218ページ上図 「Flash Playerのメジャーバージョン。『5,0』はFlash Player5、『6,0』はFlash Player6(Flash MXのPlayer)」 "6,0"の最初の数字:「Flash Playerのメジャーバージョン。『5』はFlash Player5、『6』はFlash Player6(Flash MXのPlayer)」
"6,0"のカンマの後の数字:「Flash Playerのマイナーバージョン
218ページ上図 「Flash Playerのマイナーバージョン "47":「Flash Playerのリビジョン

Copyright © 2001-2017 Fumio Nonaka.  All rights reserved.