pv3d experience
♥0 |
Line 42 |
Modified 2010-01-11 22:44:23 |
MIT License
archived:2017-03-20 07:44:04
ActionScript3 source code
/**
* Copyright fakestar0826 ( http://wonderfl.net/user/fakestar0826 )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/aLPm
*/
package {
import flash.events.Event;
import org.papervision3d.lights.PointLight3D;
import org.papervision3d.materials.*;
import org.papervision3d.objects.primitives.*;
import org.papervision3d.cameras.*;
import org.papervision3d.objects.*;
import org.papervision3d.view.*;
import flash.events.MouseEvent;
public class Main extends BasicView {
private var wrap:DisplayObject3D;
private var cam:Camera3D = new Camera3D(70,10,5000,true,false);
private var X:int = 0;
public function Main():void {
wrap = new DisplayObject3D();
scene.addChild(wrap);
cam.y = 500;
var material:WireframeMaterial = new WireframeMaterial(0xFF0000);
for(var i:int = 0;i < 12;i++)
{
var rot:int = 360 * (i / 12);
// 球面を作成
var sphere:PaperPlane = new PaperPlane(material, 5);
sphere.scaleX = 0.5;
sphere.scaleY = 0.5;
sphere.scaleZ = 0.5;
sphere.x = 600* Math.sin(rot * Math.PI / 180);
sphere.z = 600* Math.cos(rot * Math.PI / 180);
sphere.lookAt(DisplayObject3D.ZERO);
// 3Dシーンに追加
wrap.addChild(sphere);
}
// レンダリング開始
startRendering();
addEventListener(Event.ENTER_FRAME,loop);
}
private function loop(e:Event):void
{
wrap.rotationY += 1;
camera.y = 600* Math.sin(X * Math.PI / 180);
camera.z = 600* Math.cos(X * Math.PI / 180);
X++;
}
}
}