[練習]

by Tamanegi_kenshi forked from package土台用 (diff: 260)
♥0 | Line 85 | Modified 2010-08-16 09:00:45 | MIT License | (replaced)
play

Related images

ActionScript3 source code

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

package {
    import flash.display.Sprite;
    import flash.display.Bitmap;
    import flash.display.BitmapData;
    import flash.display.PixelSnapping;
    import flash.display.Loader;
    import flash.net.URLRequest;
    import flash.events.Event;
    import flash.events.MouseEvent;
    import caurina.transitions.Tweener;
    import flash.text.TextField;
    import org.papervision3d.cameras.Camera3D;
    import org.papervision3d.scenes.Scene3D;
    import org.papervision3d.view.Viewport3D;
    import org.papervision3d.render.BasicRenderEngine;
    import org.papervision3d.objects.primitives.*;
    import org.papervision3d.materials.BitmapMaterial;
    import org.papervision3d.materials.utils.MaterialsList;
    import org.papervision3d.materials.ColorMaterial;
    //
    import flash.system.Security;
   
    public class FlashTest extends Sprite {
        
        
        private var file:String = "http://assets.wonderfl.net/images/related_images/4/46/46b4/46b43fe6e70bed538a247d1cbde929be12baac9e";
        private var ballArr:Array = new Array();
        private var ballX:Array   = new Array();
        private var ballY:Array   = new Array();  
        private var bm:Bitmap;
        private var bm2:Bitmap;
        private var angle:int = 0;
        private var rect:Sprite;
        private var dx:int = 3;
        private var dy:int = 10;
        //papervision3d
        private var camera:Camera3D;
        private var scene:Scene3D;
        private var viewport:Viewport3D;
        private var renderer:BasicRenderEngine;
        private var plane:Cube;
        private var vz:int = 5;
        
        public function FlashTest() {
            init();
        }//FrashTest
        
        
        private function init():void{
            Security.allowDomain("assets.wonderfl.net");
            Security.loadPolicyFile("http://assets.wonderfl.net/crossdomain.xml");
            //
            
            //papervision3d
            camera = new Camera3D();
            
            
            scene = new Scene3D();
            viewport = new Viewport3D(465, 465);
            addChild(viewport); 
            
            renderer = new BasicRenderEngine();
            
            
            
            
            
            
            
            
            
            var my_load:Loader=new Loader();
            var my_url:URLRequest=new URLRequest(file);
            my_load.load(my_url);
            my_load.contentLoaderInfo.addEventListener(Event.COMPLETE,onComplete);
        }
        
        //ロードが終了後のイベント
        private function onComplete(event:Event):void{
            var content:Bitmap = event.target.content;
            var my_bmd:BitmapData=new BitmapData(content.width,content.height);
            my_bmd.draw(content);
            
            bm = new Bitmap(my_bmd);
            
            var material:BitmapMaterial = new BitmapMaterial(my_bmd);
            var materials:MaterialsList = new MaterialsList({all:material});
            material.doubleSided=true;
            plane = new Cube(materials, 1000, 1000, 1000);
            plane.y = 0;
            
            scene.addChild(plane);
            
            
            camera.x = 0;
            camera.y = 0;
            camera.z = -30;
            camera.rotationX = 30;
     //       camera.zoom = 0;
     //       camera.focus  = 0;
            
         
         //  camera.target = plane;
            
           var bd:BitmapData=my_bmd.clone();
            bm2 = new Bitmap(bd);
            //addChild(bm2);
            
           
  //         rect = new Sprite();
           
//           bm.x = -bm.height/2;
   //        bm.y = -bm.height/2;
            
 //           rect.addChild(bm);
  //         stage.addChild(rect);
  //         rect.x=232;
  //         rect.y=232;
  //         rect.rotationY=0;
  //          rect.scaleX=rect.scaleY=1;
            
            for(var i:int = 0; i < 100; i++){
           // var radian:Number = 360 / 100 * i * Math.PI / 180;
            var material2:ColorMaterial = new ColorMaterial(0xffff00);
            var plane2:Plane = new Plane(material2, 50, 50);
          //  plane2.z = Math.cos(radian) * 300;
          //  plane2.x = Math.sin(radian) * 300;
          plane2.z = i * 100;
          plane2.rotationZ = 90;
         //   scene.addChild(plane2);
            
            }
            
            addEventListener(Event.ENTER_FRAME,onEnter);
   //         rect.addEventListener(Event.ENTER_FRAME,onSakana);
   //         stage.addEventListener(MouseEvent.MOUSE_DOWN,onDown);
    //        stage.addEventListener(MouseEvent.MOUSE_UP,onUp);
          
           /* for(var i:int=0;i<my_bmd.width;i++){
                for(var j:int=0;j<my_bmd.height;j++){
                    var ball:Ball = new Ball(my_bmd.getPixel(i,j));
                    ballX.push(i*5);
                    ballY.push(j*5);
                    ball.alpha=0.1;
                    
                    ball.scaleX=ball.scaleY=0.5;
                    ball.x=Math.random()*300;
                    ball.y=Math.random()*300;
                    addChild(ball);
                    ballArr.push(ball);
                }


            }*/
            //stage.addEventListener(MouseEvent.CLICK,onClick);
        }//onComplete
        
        /*private function onClick(event:MouseEvent):void{
            for(var i:int=0;i<ballArr.length;i++){
            Tweener.addTween(ballArr[i],{x:ballX[i],y:ballY[i],alpha:1,delay:(ballArr.length-i)/2,time:5});
            }
        }*/
        
        private function onEnter(event:Event):void{
            
            angle+=10;
            var radian:Number = angle*Math.PI/180;
            /*
            bm2.x=160+Math.cos(radian)*150;
            bm2.y=150+Math.sin(radian)*150;
            */
        //    rect.rotation+=Math.cos(radian)*2;
            
         //   rect.scaleX=rect.scaleY=rect.y/500;
            
            
           
          //  graphics.clear();
            
            
          //  graphics.lineStyle(1,0x000000);
        //    graphics.moveTo(250,0);
          //  graphics.lineTo(rect.x,rect.y);
            
            //papervision3d
            //plane.rotationZ+=1;
           // plane.rotationY+=1;
          //  plane.z += vz;
         //   if(plane.z > 800 || plane.z < -150){
         //       vz *= -1;
         //   }

        //   plane.x -= (232 - mouseX) / 10;
        //   plane.y += (300 - mouseY) / 100;
            
            
      //      var cameraDz:Number = (plane.z - camera.z);
      //      cameraDz = 300;
             
          
            // camera.x = plane.x;
          //   camera.focus += plane.z - 1;
             
     //        var x1:Number = (plane.x - camera.x);
     //        var z1:Number = (plane.z - camera.z);
      //       var angle:Number = Math.atan2(x1, z1);
      //       camera.rotationY = angle * 180 / Math.PI;
             
            
            renderer.renderScene(scene,camera,viewport);
            
            
        }//onEnter
        
//        private function onSakana(event:Event):void{
  //          var ay2:Number = (400-event.target.y)*0.1;
  //          event.target.y+=ay2;
  //          event.target.x+=dx;
   //         if(event.target.x>=600 || event.target.x<=-150){
   //             dx*=-1;
      //          if(event.target.rotationY==180){
    //               event.target.rotationY=0; 
       //         }else{
      //              event.target.rotationY=180;
       ///         }


                
   //         }
  //      }//onSakana

        
 /*       private function onDown(event:MouseEvent):void{
            if(rect.rotationY==180){
            Tweener.addTween(rect,{rotation:-90,time:1});
            }else{
            Tweener.addTween(rect,{rotation:90,time:1});
            }

           
            rect.addEventListener(Event.ENTER_FRAME,onEn);
   //         rect.removeEventListener(Event.ENTER_FRAME,onSakana);
        }//onDown
        
        private function onUp(event:MouseEvent):void{
            
            Tweener.addTween(rect,{rotation:0,time:2});
            
            rect.removeEventListener(Event.ENTER_FRAME,onEn);
  //          rect.addEventListener(Event.ENTER_FRAME,onSakana);
        }//onUp
        
        
        private function onEn(event:Event):void{
           var ax:Number = (250-event.target.x)*0.1;
           var ay:Number = (0-event.target.y)*0.01;
           event.target.x+=ax;
           event.target.y+=ay;
        }//onEn
*/
}//class
}//package
/*
import flash.display.Sprite;
class Ball extends Sprite{
    function Ball(color:uint){
    graphics.beginFill(color);
    graphics.drawCircle(0,0,5);
    graphics.endFill();
    }
}
*/