[k]id » Papervision3D 

2009年5月6日

papervision3D 2.X EX.04 Planeにクリックしたら動くようにしてみる

前回に続きまして、せっかくオブジェクトを描画できたので、せっかくなので
クリックしたら動くようにしてみたいと思います。

結構これがややこしくて追加する項目が結構あります。
具体的には
インポートではクリックによるインタラクティブな動作を有効にするための
InteractiveScene3DEventのクラスをインポート

//クリックイベントを有効
import org.papervision3d.events.InteractiveScene3DEvent;

そんで
クリックする場所を決めるため(AS2.0の時のMuvieClipみたいなものかな)
マテリアルに対して「ここを押したら動いてください」的な感じで
//マテリアルに対してクリックイベントを有効にするためにinteractiveをtrueに
pMat.interactive=true;

それでクリックしたらどう動くかをfunctionで定義
private function onClickHandler(e:Event) {
	//まずplaneAを親から引き継ぎ
	var planeA:Plane=Plane(e.target);
	//クリックされたらランダムに移動してくださいな
	planeA.x = Math.random() * 200-100;
}

ここではじめてイベントを記述できるわけで
//クリックイベントを追加
planeA.addEventListener(InteractiveScene3DEvent.OBJECT_CLICK, onClickHandler);

って感じで各部位に追加する要素を追加すると
以下のように(赤い面を)クリックするとオブジェクトが
ランダムに動くクリックイベントを指定できるわけです。


This movie requires Flash Player 9.0.0

サンプル


ソースは↓です。

(続きを読む…)

2009年5月5日

Papervision3D 2.X EX.03 Planeに色をつけてみる

前回のPlaneに色をつけてみました。

変更内容はpMatにaddMaterialを追加

pMat.addMaterial(new ColorMaterial(0x003300));

サンプルは以下

This movie requires Flash Player 9.0.0

サンプル

ソースは↓です。

(続きを読む…)

2009年5月4日

Papervision3D 2.X EX.02 Planeオブジェクトを描画

第二回目 ベタにPlaneオブジェクトを描画してみます。
import項目とPlaneオブジェクトを追加しました。

前回から追加された項目は

//インポート項目に
//Plane オブジェクトのクラスを追加
import org.papervision3d.objects.primitives.Plane;
import org.papervision3d.materials.special.CompositeMaterial;
import org.papervision3d.materials.WireframeMaterial;
import org.papervision3d.materials.ColorMaterial;
さらに
//------------------------------------------------------------
//                                    Plane オブジェクトを追加

//↓pMatというマテリアルを定義(マテリアルはテクスチャみたいなもんかな)
var pMat:CompositeMaterial = new CompositeMaterial();
//↓pMatにワイヤーフレームの要素を追加
pMat.addMaterial(new WireframeMaterial(0x000000));
//↓新たにplaneBという名前でplaneを定義して
//new Plane(pMat, 100, 100, 6, 6);
//new Plane(マテリアルを設定 , 縦 , 横 , 横の分解数, 縦の分解数)
//という感じでPlaneを設定
var planeA:Plane = new Plane(pMat, 100, 100, 6, 6);
//ここでlines3Dに追加する
lines3D.addChild(planeA);


↓こんな感じになります。
サンプル

あれ?
Plane裏が描画されないってことで
マテリアルの定義にdoubleSided = true;を追加
doubleのSidedをtrueだから裏も追加って事か!
pMat.doubleSided = true;
ということで
こんな感じになりました。
This movie requires Flash Player 9.0.0

サンプル

ソースは↓です。

(続きを読む…)

2009年5月2日

Papervision3D 2.X EX.01 線(Line)を引いてみる

今までFlashでの3D表現はFIVe3Dを仕様していたのですが、
そろそろAS3もちゃんと勉強しなきゃな、、って事で

Papervision3Dの練習はじめにカメラ視点と軸の勉強のために
下記サンプルを作ってみました。

オブジェクトについて書かれた資料はWEB上に多いのですが、
ライン関係の資料がなかったので
せっかくのなので貼付けておきます。

This movie requires Flash Player 9.0.0


X軸 Y軸 Z軸

ソースは↓です。

(続きを読む…)

Page 2 of 212