flash on 2010-3-18 前作ったのをPV3Dで。 画面をクリックするとPlaneが球体に配置されます。 brane7 forked:2favorite:0lines:81license : MIT License modified : 2010-03-18 17:01:41 Embed Tweet /* 前作ったのを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()}); } } } } Code Fullscreen Preview Fullscreen container scene doubleSided viewport fillColor BasicRenderEngine Viewport3D interactive DisplayObject3D.ZERO focus zoom buttonMode rotationZ renderScene rotationX letters rotationY target addChild Tweener.addTween sort new page view favorite forked pv60 forked from: flash on 2010-11-.. kill69stars forked:0 favorite:0lines:81 (diff:78) pv83 forked from: flash on 2010-3-1.. Ogoshi forked:0 favorite:0lines:81 (diff:61)