flash on 2010-3-18

by brane7
前作ったのをPV3Dで。
画面をクリックするとPlaneが球体に配置されます。
♥0 | Line 81 | Modified 2010-03-18 17:01:41 | MIT License
play

ActionScript3 source code

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

/*
    前作ったのをPV3Dで。
    画面をクリックするとPlaneが球体に配置されます。
*/

package
{
	import caurina.transitions.Tweener;
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.MouseEvent;
	import org.papervision3d.cameras.Camera3D;
	import org.papervision3d.materials.ColorMaterial;
	import org.papervision3d.objects.DisplayObject3D;
	import org.papervision3d.objects.primitives.Plane;
	import org.papervision3d.render.BasicRenderEngine;
	import org.papervision3d.scenes.Scene3D;
	import org.papervision3d.view.Viewport3D;

	import caurina.transitions.Tweener; 
import flash.display.Sprite; 
import flash.events.Event; 
import flash.filters.BlurFilter; 
import flash.utils.setInterval; 
import org.papervision3d.cameras.Camera3D; 
import org.papervision3d.materials.special.Letter3DMaterial; 
import org.papervision3d.objects.DisplayObject3D; 
import org.papervision3d.render.BasicRenderEngine; 
import org.papervision3d.scenes.Scene3D; 
import org.papervision3d.typography.Text3D; 
import org.papervision3d.typography.fonts.HelveticaBold; 
import org.papervision3d.view.Viewport3D; 
import org.papervision3d.view.layer.ViewportLayer; 

	[SWF(width="465", height="465", backgroundColor="0xffffff", frameRate="40")]
	public class PV3D_sample06 extends Sprite
	{
		private var container:Sprite;
		private var viewport:Viewport3D;
		private var scene:Scene3D;
		private var camera:Camera3D;
		private var renderer:BasicRenderEngine;
		private var rootNode:DisplayObject3D;
		private var sphereNode:DisplayObject3D;
		private var flug:int;
private var words1:Text3D; 

		public function PV3D_sample06()
		{
			container=new Sprite();
			addChild(container);
			container.x=stage.stageWidth / 2;
			container.y=stage.stageHeight / 2;

			viewport=new Viewport3D(0, 0, true, true);
			scene=new Scene3D();
			camera=new Camera3D();
			renderer=new BasicRenderEngine();
			rootNode=scene.addChild(new DisplayObject3D("rootNode"));
			sphereNode=rootNode.addChild(new DisplayObject3D("sphereNode"));
			addChild(viewport);
			camera.y=50;
			camera.zoom=100;
			camera.focus=50;
			camera.target=DisplayObject3D.ZERO;
			viewport.containerSprite.buttonMode = true;

	
	var mat:Letter3DMaterial=new Letter3DMaterial(); 
	mat.fillColor=0x000000; 
	mat.doubleSided=true; 
	mat.doubleSided=mat.interactive=true; 
	words1=new Text3D("The Go's", new HelveticaBold(), mat); 
	words1.z = 5000
	words1.y = -250
	scene.addChild(words1)
breakWords(	words1)
			addEventListener(Event.ENTER_FRAME, onFrame);
		}

		private function onFrame(e:Event):void
		{
	
			renderer.renderScene(scene, camera, viewport);
		}

		private function breakWords(words:Text3D):void 
{ 
for each(var word:DisplayObject3D in words.letters) 
{ 
Tweener.addTween(word, {x:Math.random() * 2000 - 1000, y:Math.random() * 2000 - 1000, z:Math.random() * 2000 - 1000, rotationX:Math.random() * 360, rotationY:Math.random() * 360, rotationZ:Math.random() * 360, time:4, delay:3 * Math.random()}); 
} 
} 

	}
}