車3台並べてみた。

by yew
♥0 | Line 84 | Modified 2011-02-15 01:20:05 | MIT License
play

ActionScript3 source code

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

// forked from alt's forked from: forked from: forked from: forked from: forked from: forked from: [PV3D] Vector Font on 3D World
// forked from hacker_697ewqna's forked from: forked from: forked from: forked from: forked from: [PV3D] Vector Font on 3D World
// forked from break's forked from: forked from: forked from: forked from: [PV3D] Vector Font on 3D World
// forked from tan_go238's forked from: forked from: forked from: [PV3D] Vector Font on 3D World
// forked from tan_go238's forked from: forked from: [PV3D] Vector Font on 3D World
// forked from taka_milk's forked from: [PV3D] Vector Font on 3D World
// forked from clockmaker's [PV3D] Vector Font on 3D World
//コードが少ない事に驚き
package 
{
    import flash.display.*;
    import flash.events.*;
    import flash.geom.*;
    import flash.text.*;
    import flash.filters.*;
    import flash.utils.getTimer;
    import org.papervision3d.core.clipping.FrustumClipping;
    import org.papervision3d.core.proto.MaterialObject3D;
    import org.papervision3d.lights.PointLight3D;
    import org.papervision3d.materials.ColorMaterial;
    import org.papervision3d.materials.MovieMaterial;
    import org.papervision3d.materials.shadematerials.FlatShadeMaterial;
    import org.papervision3d.materials.special.CompositeMaterial;
    import org.papervision3d.materials.utils.MaterialsList;
    import org.papervision3d.materials.WireframeMaterial;
    import org.papervision3d.objects.*;
    import org.papervision3d.objects.primitives.*;
    import org.papervision3d.view.BasicView;
    import org.papervision3d.cameras.*;
    import org.papervision3d.materials.special.Letter3DMaterial;
    import org.papervision3d.typography.fonts.HelveticaBold;
    import org.papervision3d.typography.Text3D;
    import org.papervision3d.core.effects.view.ReflectionView;
    import caurina.transitions.properties.CurveModifiers;
    import org.papervision3d.events.InteractiveScene3DEvent;
    import caurina.transitions.Tweener;
    import org.papervision3d.objects.parsers.DAE;
    
    [SWF(width = "465", height = "465", frameRate = "10", backgroundColor = "#FC0")]
    
        
    public class Main extends ReflectionView
    {
        static private const ROUND           :uint = 1900;
        static private const OBJ_AMOUNT      :uint = 10;
        static private const CAMERA_POSITION :uint = 1600;
        //カメラの位置
        static private const PLANE_SIZE      :uint = 3000;
        //ステージ
        //無くても反射する
        static private const COLOR_LIST      :Array  = [0x003399, 0x0066CC, 0x0099FF, 0x33CCFF];
        
        private var wraps:Array = [];
        private var words:Array = [];
        private var wrapRoot:DisplayObject3D;
        
        public function Main():void 
        {
            super(0, 0, true , false, CameraType.TARGET);
            
            camera.zoom = 1;
            camera.focus = 270;
            
            // refrection
            surfaceHeight = 0;
            //viewportReflection.filters = [new BlurFilter(2, 2, 3)];
            viewportReflection.alpha = .8;
            
            // safe polygon
            renderer.clipping = new FrustumClipping(FrustumClipping.NEAR)
            
            // add material
            var compMat:CompositeMaterial = new CompositeMaterial();
            compMat.addMaterial(new WireframeMaterial(0xCCCCCC));
            compMat.addMaterial(new ColorMaterial(0xEEEEEE, 0.8));//x
            //compMat.addMaterial(new ColorMaterial(0xEEEEEE, 0.1));
            compMat.addMaterial(new ColorMaterial(0xFFFFFF, 0.1));
            
            var planeB:Plane = new Plane(compMat, PLANE_SIZE, PLANE_SIZE, 4, 4);//縦、横
            planeB.pitch(90)
            scene.addChild(planeB);
            
            var roku:DAE = new DAE();
            roku.load("http://blog.alt-scape.com/swf/dae/sample.dae");
            scene.addChild(roku);
            roku.scale = 70;
            roku.y = 100; 
            //これはサーバーの3dをどこかかっらとってきたり
            
            
            var roku2:DAE = new DAE();
            roku2.load("http://blog.alt-scape.com/swf/dae/sample.dae");
            scene.addChild(roku2);
            roku2.scale = 90;//大きさ
            roku2.y = 100;//(上下) 
            roku2.x = 500;//右左???
            //scene.addChild(roku);    
            
            var roku3:DAE = new DAE();
            roku3.load("http://blog.alt-scape.com/swf/dae/sample.dae");
            scene.addChild(roku3);
            roku3.scale = 53;//大きさ
            roku3.y = 100;//(上下) 
            roku3.x -= 500;//右左???
            //scene.addChild(roku);      
                      
            wrapRoot = scene.addChild(new DisplayObject3D());
            stage.addEventListener(Event.ENTER_FRAME, loop);
        }

        
        private function loop(event:Event = null):void 
        {
            camera.x += (CAMERA_POSITION * Math.sin(mouseX / stage.stageWidth * 360 * Math.PI / 180) - camera.x) * 0.1;
            camera.z += (CAMERA_POSITION * Math.cos(mouseX / stage.stageWidth * 360 * Math.PI / 180) - camera.z) * 0.1;
            camera.y += (CAMERA_POSITION * mouseY / stage.stageHeight - camera.y) * 0.1;
            singleRender();
        }


/*
// forked from alt's forked from: forked from: forked from: forked from: forked from: forked from: [PV3D] Vector Font on 3D World
// forked from hacker_697ewqna's forked from: forked from: forked from: forked from: forked from: [PV3D] Vector Font on 3D World
// forked from break's forked from: forked from: forked from: forked from: [PV3D] Vector Font on 3D World
// forked from tan_go238's forked from: forked from: forked from: [PV3D] Vector Font on 3D World
// forked from tan_go238's forked from: forked from: [PV3D] Vector Font on 3D World
// forked from taka_milk's forked from: [PV3D] Vector Font on 3D World
// forked from clockmaker's [PV3D] Vector Font on 3D World
//コードが少ない事に驚きです!
package 
{
    import flash.display.*;
    import flash.events.*;
    import flash.geom.*;
    import flash.text.*;
    import flash.filters.*;
    import flash.utils.getTimer;
    import org.papervision3d.core.clipping.FrustumClipping;
    import org.papervision3d.core.proto.MaterialObject3D;
    import org.papervision3d.lights.PointLight3D;
    import org.papervision3d.materials.ColorMaterial;
    import org.papervision3d.materials.MovieMaterial;
    import org.papervision3d.materials.shadematerials.FlatShadeMaterial;
    import org.papervision3d.materials.special.CompositeMaterial;
    import org.papervision3d.materials.utils.MaterialsList;
    import org.papervision3d.materials.WireframeMaterial;
    import org.papervision3d.objects.*;
    import org.papervision3d.objects.primitives.*;
    import org.papervision3d.view.BasicView;
    import org.papervision3d.cameras.*;
    import org.papervision3d.materials.special.Letter3DMaterial;
    import org.papervision3d.typography.fonts.HelveticaBold;
    import org.papervision3d.typography.Text3D;
    import org.papervision3d.core.effects.view.ReflectionView;
    import caurina.transitions.properties.CurveModifiers;
    import org.papervision3d.events.InteractiveScene3DEvent;
    import caurina.transitions.Tweener;
    import org.papervision3d.objects.parsers.DAE;
    
    [SWF(width = "465", height = "465", frameRate = "10", backgroundColor = "#FC0")]
    
        
    public class Main extends ReflectionView
    {
        static private const ROUND           :uint = 1900;
        static private const OBJ_AMOUNT      :uint = 10;
        static private const CAMERA_POSITION :uint = 2000;
        //カメラの位置
        static private const PLANE_SIZE      :uint = 3000;
        //ステージ
        //無くても反射する
        static private const COLOR_LIST      :Array  = [0x003399, 0x0066CC, 0x0099FF, 0x33CCFF];
        
        private var wraps:Array = [];
        private var words:Array = [];
        private var wrapRoot:DisplayObject3D;
        
        public function Main():void 
        {
            super(0, 0, true , false, CameraType.TARGET);
            
            camera.zoom = 1;
            camera.focus = 200;
            
            // refrection
            surfaceHeight = 0;
            //viewportReflection.filters = [new BlurFilter(2, 2, 3)];
            viewportReflection.alpha = .8;
            
            // safe polygon
            renderer.clipping = new FrustumClipping(FrustumClipping.NEAR)
            
            // add material
            var compMat:CompositeMaterial = new CompositeMaterial();
            compMat.addMaterial(new WireframeMaterial(0xCCCCCC));
            compMat.addMaterial(new ColorMaterial(0xEEEEEE, 0.8));
            //compMat.addMaterial(new ColorMaterial(0xEEEEEE, 0.1));
            compMat.addMaterial(new ColorMaterial(0xFFFFFF, 0.1));
            
            var planeB:Plane = new Plane(compMat, PLANE_SIZE, PLANE_SIZE, 4, 4);
            planeB.pitch(90)
            scene.addChild(planeB);
            
            var roku:DAE = new DAE();
            roku.load("http://blog.alt-scape.com/swf/sample.dae");
            scene.addChild(roku);
            roku.scale = 200;
            roku.y = 100;         
                      
            wrapRoot = scene.addChild(new DisplayObject3D());
            stage.addEventListener(Event.ENTER_FRAME, loop);
        }

        
        private function loop(event:Event = null):void 
        {
            camera.x += (CAMERA_POSITION * Math.sin(mouseX / stage.stageWidth * 360 * Math.PI / 180) - camera.x) * 0.1;
            camera.z += (CAMERA_POSITION * Math.cos(mouseX / stage.stageWidth * 360 * Math.PI / 180) - camera.z) * 0.1;
            camera.y += (CAMERA_POSITION * mouseY / stage.stageHeight - camera.y) * 0.1;
            singleRender();
        }



    }
}
*/
    }
}