In case Flash no longer exists; a copy of this site is included in the Flashpoint archive's "ultimate" collection.

Dead Code Preservation :: Archived AS3 works from wonderfl.net

flash on 2010-3-1

import flash.display.Sprite;
Get Adobe Flash player
by bcosizm 02 Mar 2010
    Embed
/**
 * Copyright bcosizm ( http://wonderfl.net/user/bcosizm )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/tCd1
 */

package {
	import flash.events.*;
	import org.papervision3d.view.*;
	import org.papervision3d.materials.*;
	import org.papervision3d.materials.utils.*;
	import org.papervision3d.objects.primitives.*;
	
	import flash.display.Loader;
    import flash.net.URLLoader;
    import flash.net.URLRequest;
    
    //import flash.display.Sprite;
    import flash.display.Bitmap;
    import flash.display.BitmapData;
    
    
    public class FlashTest extends BasicView {
    		//private var obj:Sphere;//球形インスタンス
    		private var obj:Cube;//直方体インスタンス
    		
    		private var rotx:Number = 0;
    		private var roty:Number = 0; 
    		
        public function FlashTest() {
            // write as3 code here..
            //マテリアル作成
            var material:WireframeMaterial = new WireframeMaterial(0x0000FF);
            
            //直方体
            //マテリアルズリスト
            var materials:MaterialsList = new MaterialsList({all:material});
            obj = new Cube(materials,700,700,700,10,10,10);
            //球形作成
            //obj = new Sphere(material,400,50,15);
            
            //3D空間に球体を追加
            scene.addChild(obj);
            
            //レンダリング開始
            startRendering();
            
            //エンターフレームのイベントを登録
            addEventListener(Event.ENTER_FRAME,loop);
        }
        
        
        //アニメーション
        private function loop(e:Event):void
        {
        		//球体を回転させる
        		//obj.rotationY +=4;
        		
        		//マウスのX座標がステージの幅の何%の位置にあるか調べてそれを360度で乗算する。
        		var targetRotX:Number = (mouseX/stage.stageWidth)*360;
        		var targetRotY:Number = (mouseY/stage.stageHeight)*360;
        		//イージングの公式を用いて滑らかにする。
        		//値 +=(目標値-現在値)*減速値
        		rotx += (targetRotX-rotx)*0.02;
        		roty += (targetRotY-roty)*0.02;
        		//角度に応じてカメラの位置を設定
        		//横方向
        		camera.x = 1000*Math.sin(rotx*Math.PI/180);
        		camera.z = 1000*Math.cos(rotx*Math.PI/180);
        		//縦方向
        		camera.y = 1000*Math.sin(roty*Math.PI/180);
        		//camera.x= 1000*Math.cos(roty*Math.PI/180);
        }
    }
}