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-11

import flash.display.Sprite;
Get Adobe Flash player
by bcosizm 11 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/r9H7
 */

package {
	import flash.events.*;
	import org.papervision3d.view.*;
	import org.papervision3d.materials.*;
	import org.papervision3d.materials.utils.*;
	import org.papervision3d.materials.special.*;
	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 SilentBill extends BasicView {
    		private var obj_player:Sphere;//球形インスタンス
    		private var obj_ground:Plane;//地面インスタンス
    		private var obj_cube:Cube;//直方体インスタンス
    		
    		private var rotx:Number = 0;
    		private var roty:Number = 0; 
    		
        public function SilentBill() {
            // write as3 code here..
            //マテリアル作成
            var material_w_green:WireframeMaterial = new WireframeMaterial(0x00FF00);
            var material_w_white:WireframeMaterial = new WireframeMaterial(0xFFFFFF);
            var material_c_gray:ColorMaterial = new ColorMaterial(0x666666);
            var material_ground:CompositeMaterial = new CompositeMaterial();
            material_ground.addMaterial(material_c_gray);
            material_ground.addMaterial(material_w_white);
            material_ground.doubleSided= true;
            //直方体
            //マテリアルズリスト
            var materials:MaterialsList = new MaterialsList({all:material_w_white});
            obj_cube = new Cube(materials,700,700,700,10,10,10);
            //球形作成
            obj_player = new Sphere(material_w_green,400,15,15);
            //地面作成
            obj_ground = new Plane(material_ground,10000,10000,10,10);
            
            //3D空間に球体を追加
            obj_ground.pitch(90);
            scene.addChild(obj_ground);
			obj_player.y = 1000;
            scene.addChild(obj_player);
            obj_cube.x = 1000;
            obj_cube.z = 1000;
            obj_cube.y = 700;
            scene.addChild(obj_cube);
            
            //レンダリング開始
            startRendering();
            
            //エンターフレームのイベントを登録
            addEventListener(Event.ENTER_FRAME,loop);
        }
        
        
        //アニメーション
        private function loop(e:Event):void
        {
        		//球体を回転させる
        		obj_player.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 = 2000*Math.sin(rotx*Math.PI/180);
        		camera.z = 2000*Math.cos(rotx*Math.PI/180);
        		//縦方向
        		camera.y = 2000*Math.sin(roty*Math.PI/180);
        		//camera.x= 1000*Math.cos(roty*Math.PI/180);
        }
    }
}