Papervision3d入門 2.3.4

by ug24k8 forked from Papervision3d入門 2.3.3 (diff: 37)
Flash3D コンテンツ制作のためのPapervision3Dのサンプルテスト	

code 2.3.4
♥0 | Line 33 | Modified 2010-02-11 01:06:22 | MIT License
play

ActionScript3 source code

/**
 * Copyright ug24k8 ( http://wonderfl.net/user/ug24k8 )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/b3yy
 */

// forked from yawakisin's Papervision3d入門 2.3.4
/*
	Flash3D コンテンツ制作のためのPapervision3Dのサンプルテスト	
	
	code 2.3.4
*/

package 
{
	import flash.events.Event;
	import org.papervision3d.materials.*;
	import org.papervision3d.objects.*;
	import org.papervision3d.view.*;
	import org.papervision3d.objects.primitives.*;
	
	public class DisplayObject3DSample extends BasicView {
		
		private var wrap:DisplayObject3D;
		
		// コンストラクタ
		public function DisplayObject3DSample() {
			
			// 親を作成
			wrap = new DisplayObject3D();
			// 親をシーンに追加する
			scene.addChild(wrap);
			
			// マテリアルを作成
			var material:WireframeMaterial = new WireframeMaterial(0x3399ff);
			material.doubleSided = true;
			
			var max:int = 10;	// 平面を10個作成
			for (var i:int = 0; i < max; ++i)
			{
				// 平面を作成
				var obj:Plane = new Plane(material, 200, 200);
				
				// 配置角度を計算
				var rot:Number = Math.PI * 2 * (i / max);
				
				// 平面を円周上に配置
				obj.x = 600 * Math.sin(rot);
				obj.z = 600 * Math.cos(rot);
				obj.lookAt(DisplayObject3D.ZERO);	// 原点方向を向かせる
				
				// 親に追加
				wrap.addChild(obj);
			}
			
			// レンダリング
			startRendering();
			addEventListener(Event.ENTER_FRAME, loop);
		}
		
		private function loop(e:Event):void 
		{
			// 親をY軸方向に回転させる。
			wrap.rotationY += 1;
		}
	}
}