IT工房 ブログ

3Dを描画する(3)〜カスタムクラス作成/コンストラクタ、インスタンス化

今回は具体的に球体の作成方法をまとめておきます。 文法はどうでもいいからとりあえず作りたい場合は次の手順です。 FlashCS3以上かFlashDevelopを用意します。今回はフリーのFlashDevelopを使用して作成します。 新規プロジェクトを作成します。AS3 Projectを選択してAS3のプロジェクトを作成します。 ライブラリを入手します。papervision3dのページからPapervision3D ActionScript 3.0 Library .ZIP をダウンロードします。 プロジェクトマネージャに表示されるsrcフォルダの中にライブラリの nochump と orgを入れます。libに入れるのではなくsrcに入れますので間違わないようにしてください。 下記ソースをMain.asファイルにコピーします。 プロジェクトをテストボタンをクリックして実行画面を確認します。 bin フォルダに出来上がったswfの拡張子が付くファイルがあります。これが球体を描くFlashのファイルです。 ついでにindex.htmlファイルもできていますので、自分のページに流用することができます。FlashをHTMLに挿入する方法が解らない場合はこのソースを使用すればよいです。JavaScriptで表示させる仕組みになっていますので、このHTMLソースを使用する場合はbinにある各  >>続きを読む

3Dを描画する(2)〜カスタムクラス作成/クラスの宣言

カスタムクラスの作成 球体を描くソース package { import org.papervision3d.objects.primitives.*; import org.papervision3d.view.*; import org.papervision3d.materials.*; public class Main extends BasicView { public function Main():void { var sphere:Sphere = new Sphere(null,600,30,30); scene.addChild(sphere); startRendering(); } } } 描画結果 import文 任意のパッケージにあるコードは、別のパッケージ内にあるコードを参照できません。 別のパッケージにあるpublicのクラスにアクセスできるようにするには、importディレクティブを使用します。 今回ライブラリはsrcフォルダの中に入れます。ライブラリフォルダは2つでorgフォルダとnochumpフォルダです。 描画する球体ではorgフォルダ内のクラスを使用しますので下記のようにimportを行っています。 ワイルドカードのアスタリスク(*)を使えば、同じパッケージ階層のすべてのクラスを指定できます。アスタリスクを使って指定できるのはあくまで同じ  >>続きを読む

3Dを描画する(1)〜カスタムクラス作成/パッケージ

今回から数回に分けてActionScriptで3Dを試してみましょう。 3Dは難しいというのが一般的なイメージかもしれません。 実際にこれをスクリプトだけで実現するのは大変だろうと思います。ところが、ライブラリを使用すると実に簡単に3D表現が可能になるのです。 では早速サンプルを見ていきましょう。 [Papervision3Dを使用したサンプル] なんだ、お前のホームページか、センス無いなと言わないでください。下段の真ん中にあるのがPapervision3Dを使用したサンプルです。工夫すると色々な作品ができそうですね。あとは創造力です。 今回の連載の最終目標はとりあえずこのサンプルと同じものを作成する事です。 そのためにはまず基本を少し勉強しておきましょう。 まずはカスタムクラスの作成方法です。 カスタムクラスの作成 ポリゴンがどうしたこうしたと怪獣みたいな名前は少し置いといて、いきなり球体を描くソースを見てみましょう。 球体を描くソース package { import org.papervision3d.objects.primitives.*; import org.papervision3d.view.*; import org.papervision3d.materials.*; public class Main extends BasicView { public f  >>続きを読む

オブジェクト指向の概念そしてクラスとは〜ActionScript3.0

オブジェクト指向とは Coline Moock氏はオブジェクト指向について次のような例を上げています。 飛行機をまったくゼロから作れと言われたらどうしますか? その場合に行うべき処理について思いをめぐらせてみてください。 まさかいきなり金属工場に行って溶接を始めたりはしないでしょう。 まずは飛行機の設計図の作成から始めるはずです しかも何もないところから飛行機を作る場合には、一枚だけでなく、 飛行機の多くの部分(車輪や両翼、椅子、ブレーキなど)の それぞれについて設計図を書く必要があるでしょう。 そして今度は部分ごとにそれぞれの設計図どおりに加工し、 それが終わったらマスターの設計図に従って組み立てていきます。   ActionScriptのオブジェクトは、空を飛ぶ飛行機が一連の設計図に基づいて相互に作用するパーツの集まりであるのと同じように、動作する一連のクラスに基づいて相互に作用するオブジェクトの集まりです。 ActionScriptのオブジェクトは、プログラム内の目に見えるものと目に見えない概念の両方を表しています。 オブジェクトの例としては数値、ボタン、カレンダーの日付、画像のぼかし効果などであったりします。 オブジェクトはクラスの具体化(インスタンス化)であり、クラスはオブジェクトの基になる設計図のことをいいます。 クラスとオブジェクトを使ってプログラムを構築す  >>続きを読む

ActionScriptとFlashについて

前回のマルチストライプ作成でActionScriptに軽く触れていきましたが、今回から少し噛み砕きながら進めていきたいと思っています。 プログラミング初心者対象のレベルです。 ActionScriptについて ActionScriptはAdobeのFlashプラットフォームにおける公式プログラミング言語です。元来アニメーションを制御する簡単なスクリプトでしたが、高度なFlashコンテンツ作成のため高い要求に応える必要がでてきました。現在のActionScript3.0はECMAScript4に基づいています。 そして、クラスやオブジェクト、インターフェースといったオブジェクト指向の概念をもった言語です。 ActionScriptコードを記述するツール ActionScriptのコードはWindowsのメモ帳などシンプルなテキストエディッタで作成できます。 専用ツールとしてはAdobe社のFlashBuilder やFlashProfessionalまたフリーで手に入る FLASH DEVELOPなどがあります。 FlashBuilder(Flex)はAdobe社が提供する統合開発環境IDE(Integrated Development Environment)です。IDEはコードを記述し管理するためのアプリケーションのことをいいます。ActionScriptとMXMLを使ってコンテ  >>続きを読む

Paul Smith風マルチストライプ作成

今回はActionScript3でFlash形式(swf)のものを作成してみました。 出来上がりは「ようこそ画面」のヘッダー部分のマルチストライプです。 [ソースサンプルはコチラです。] [使用例サンプルはコチラです。] ActionScript3はサンプルのように拡張子をasとします。エディッタはメモ帳などでOKです。問題はコンパイルが必要になります。通常はAdobe Flash professionalCS3以上かFlexを使用することになりますが、オール ActionScript3なら無料のFlashDevelopを使えばコストがかかりません。これは結構すぐれものですから手なずけておいた方が良いかもしれません。 FlashDevelopの導入、使用方法は[FlashDevelopのサイト]を参照ください。 さて、ソースの説明です。といって説明するほどのものでもないですね。 要点だけ。 今回Tweenerのライブラリを使用しています。 [ライブラリはこちらから] ライブラリ入手後、caurinaフォルダを全てsrcフォルダ内にいれます。 これをインポートする文が以下となります。 import caurina.transitions.Tweener; ActionScript3のプログラム開始はコンストラクタからになりますので、Paul Smith風ストライプ作成メソッド Twe  >>続きを読む