flash on 2010-3-18
前作ったのをPV3Dで。
画面をクリックするとPlaneが球体に配置されます。
♥0 |
Line 81 |
Modified 2010-03-18 17:01:41 |
MIT License
archived:2017-03-10 20:35:44
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()});
}
}
}
}