Lesson6 Sandyを利用した3D表現
Lesson6では「Fuse Kit」に続いて、オープンソースの「Sandy」を取り上げる。SandyはFlashで3Dを表現することができるActionScript2.0ベースのクラスパッケージライブラリーだ。3Dに関してかなり広範囲のことができるが、筆者自身も勉強中の段階である。全容を解説とまでいかないが、簡単で効果の高いものをピックアップしながら進めていきたい。
(解説:茅原伸幸)
第1回 Sandyの導入
まずは、Sandyを使える環境を整えよう。基本的にはFuse Kit同様クラスパッケージをダウンロードしてクラスパスを通せばOKだが、若干手を加える必要もある。まず、本家のダウンロードページから、クラスパッケージをダウンロードしよう。必要なものは、Sandyのパッケージと、「PixLib」のパッケージの2つになる【図1】。
【図1】現時点で、Sandyはバージョン1.2のベータ版も出ているが、今回は安定した1.1バージョンで進めて行く
上記「pixlib.rar」と「SANDY_1_1.zip」を入手したら、それぞれ解凍し、階層に注意しながら、クラスパスを設定しているフォルダにコピーしよう【図2】。クラスパスの設定方法については、Lesson5の第1回「■Point クラスパスの設定」を参考にしてほしい。
【図2】comフォルダとsandyフォルダが同階層になることに注意しよう
■Point DissortImgクラスのエラー回避
以上で、クラスパッケージの設定は完了。だが、もう少し作業が必要だ。次回から「DistortImgクラス」を使って画像の変形を試してみたいのだが、そのままではエラーが出てしまうため、若干の修正をしておこう。クラスパッケージのsandyフォルダ内のutilフォルダ内に「DistortImage.as」というファイルがあるが、このファイルをテキストエディタなどで開いて、238行目の「public var points:Array;」を「//public var points:Array;」としてコメントアウトしておこう。(参考:trick7.com blog: Sandyについて)
■Point Camera3Dクラスのエラー回避
また、Sandyについてのサンプルflaファイルが本家サイトのDemosページやPetit Labs Using Sandy 3D Flash Libraryなどに掲載されているが、そのままでは
「**エラー** C:\my_classes\sandy\view\IScreen.as: 行 38:クラスまたはインターフェイス 'sandy.view.Camera3D' をロードできませんでした。」
など、Camera3Dクラスに関してエラーが出る場合がある(WindowsXPとFlash Professional 8を使用している筆者の環境ではそうだった)。
さんざん悩んだ挙句、次の手法でエラーを回避できるようになったので、同じエラーに悩まさる人は試してみてほしい。
sandyフォルダ内のviewフォルダ内の「Camera3D.as」をテキストエディタ等で開き、257行目と291行目の“?”を“-”に入力し直し、上書き保存する【図3】。
【図3】黄色の3ヵ所の部分だ
また、クラスファイルを変更して、動作がおかしい場合は、「制御」メニューから「ASOファイルを削除」するとよい場合があるので、覚えておくといいだろう。
今回は導入のみで終わってしまうが、次回はDistortImgクラスを使って画像の変形を試していく【サンプル1】。
【サンプル1】画像四隅のポイントをドラッグしてみよう
次回へつづく
[プロフィール] かやはら・のぶゆき●1972年生まれ、広島在住。広島大学経済学部卒業後、紆余曲折の末、2006年5月に株式会社メディア・パルサーを設立。若手を鍛えながらFlash制作に勤しむ。二児のパパ。 http://www.procreo.jp/ |