« p.168 | メイン | p.193 »

p185 - p.187

え〜、AS3で仕様が変更になっておりました。
訂正の報告が遅くなってすみませんでした。m(_ _)m

AS3では、同じパッケージ内(フォルダ内)にあるクラスファイル同士は互いにimportせずともアクセスできます。それがinternalというメンバー属性です。

削除:p.186の本文7行と1番目のスクリプトまで


この部分の記述を削除することから1ページの空きができるので、5刷以降では次の内容を追加原稿として差し込むことにしました。
これにともない、内容が被ってしまうp.187の右コラムのNoteを削除します。


追加原稿:
クラスパスの設定とパッケージ
Flashがクラスのパッケージを検索開始するクラスパスは、ファイルメニューの[環境設定...]のActionScriptパネルの[言語:ActionScript 3.0設定]で設定します。あるいは、パブリッシュ設定のFlashパネルのActionScriptバージョンからActionScript 3.0を選び、その設定パネルのクラスパスの設定でファイルごとにクラスパスを指定することができます。
クラスパスの指定では、パブリッシュするFlashファイルからの相対パスを利用できます。ファイルメニューの[環境設定...]を見るとのカレントフォルダを示す「.」が指定してあるのがわかります。

p185add1.jpg
図:ファイルメニューの[環境設定...]のクラスパス設定。

相対パスを使えることから、Flashファイルが「myTest/sample/ball/test_ball.fla」にあり、クラス定義ファイルが「myTest/src/com/oshige/Ball.as」にあったとき、test_ball.flaのパブリッシュ設定で「../../src」をクラスパスに設定すればimport com.oshige.BallでBallクラスを使えるようになります。
このとき、Ballクラス定義ではpackage com.oshigeのようにパッケージを指定します。クラスパス設定でsrcフォルダ以下を指定することで、Ballクラスのパッケージ指定を変更せずにクラスファイルを使うことができます。

p185add2.jpg
図:パブリッシュ設定で「../../src」をクラスパスに設定すれば、srcフォルダ以下がパッケージになります。

About

2008年9月16日 11:59に投稿されたエントリーのページです。

ひとつ前の投稿は「p.168」です。

次の投稿は「p.193」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。