forked from: papervisionの練習

by genny forked from papervisionの練習 (diff: 6)
♥0 | Line 42 | Modified 2010-12-10 19:28:23 | MIT License
play

ActionScript3 source code

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

// forked from mikelito33bdx's papervisionの練習
package {
    import flash.events.*;
    import flash.display.*;
    
    import org.papervision3d.materials.*;
    import org.papervision3d.objects.primitives.*;
    import org.papervision3d.materials.utils.MaterialsList;
    import org.papervision3d.view.*;
    
    public class Main extends BasicView {
        
        private var _obj:Cube;
        private var _objList:Array;
        
        private var _myDegree:Number = 0;
        private var _myRadian:Number;
        private var _myRadinaList:Array;
        public function Main() {
            
            viewport.opaqueBackground = 0x000000;
            
            var material:ColorMaterial = new ColorMaterial(0xFF0FF0, 0.5);
            var materials:MaterialsList = new MaterialsList( { all : material } );
            var myRadian:Number;
            
            _objList = [];
            _myRadinaList = [];
            
            for (var i:int = 0; i < 100; i++ ) {
                _obj = new Cube(new MaterialsList( { all : material } ), 25, 25, 25, 1, 1, 1, 0, 0);
                scene.addChild(_obj);
                _objList.push(_obj);
                
                myRadian = Math.PI * 4 * i / 180; 
                _myRadinaList.push(myRadian);
                
                _obj.x = 250 * Math.sin(myRadian);
                _obj.z = 500 * Math.cos(myRadian);
                _obj.y = -1000 + 20 * i;
            }
            
            this.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
            
            startRendering();
        }
        
        private function enterFrameHandler(e:Event):void {
            
            _myDegree += 1;
            //trace(_myDegree);
            _myRadian = (Math.PI / 180) * _myDegree;
            //trace(_myRadian);
            for (var i:int = 0; i < 100; i++ ) {
               _objList[i].x = 250 * Math.sin(_myRadian + _myRadinaList[i]);
                //_objList[i].z = 500 * Math.cos(_myRadian + _myRadinaList[i]);
                
            }
            
        }
        
    }
    
}