ReflectionView検証用

by sw_lucchini
♥0 | Line 34 | Modified 2010-01-14 22:45:18 | MIT License
play

ActionScript3 source code

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

package 
{
	import flash.display.*;
	import flash.events.*;
	import flash.utils.*;
	import org.papervision3d.core.effects.view.*;
	import org.papervision3d.materials.*;
	import org.papervision3d.materials.utils.*;
	import org.papervision3d.objects.primitives.*;
	
	public class Main extends ReflectionView
	{
		//コンストラクタ
		private var obj:Cube;
		public function Main():void
		{
			var sp:Sprite = new Sprite();
			sp.graphics.beginFill(0x000000);
			sp.graphics.drawRect(0, 0, 2000, 2000);
			
			//うまく表示される。
			//this.addChildAt(sp,0);
			//stage.addChildAt(sp,0);
			
			//一番上に重なり全て隠れてしまう。
			//this.addChild(sp);  //or this.addChildAt(sp,2);
			//stage.addChild(sp); //or stage.addChildAt(sp,1);
			
			//鏡面反射だけが隠れる。
			this.addChildAt(sp,1);
			sp.alpha = 1;
			
			var material:ColorMaterial = new ColorMaterial(0x0000FF);
			var materials:MaterialsList = new MaterialsList( { all:material } );
			
			obj = new Cube(materials);
			scene.addChild(obj);
			
			surfaceHeight = -600;
			viewportReflection.alpha = 0.5;
			
			addEventListener(Event.ENTER_FRAME, loop);
		}
		
		private function loop(e:Event):void 
		{
			obj.localRotationY += 1;
			singleRender();
		}
		
	}
}