forked from: フレームアクションで覚える Papervision3D サンプル Vol.01
forked from フレームアクションで覚える Papervision3D サンプル Vol.01 (diff: 67)
ActionScript3 source code
/**
* Copyright maxcaffy ( http://wonderfl.net/user/maxcaffy )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/rCOF
*/
// forked from clockmaker's フレームアクションで覚える Papervision3D サンプル Vol.01
// forked from clockmaker's WonderflでaddFrameScriptを試してみる
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.net.*;
import flash.filters.*;
import flash.text.*;
import org.papervision3d.view.BasicView;
import org.papervision3d.objects.primitives.*;
public class FlashTest extends MovieClip {
private var world:BasicView;
private var sphere:Sphere;
public function FlashTest() {
initFunc();
initAdd();
}
public function initFunc():void {
// 3D表示用の基本インスタンスを作成します
world = new BasicView();
addChild(world);
// 球面のオブジェクトを作成します
sphere = new Sphere();
// 3D表示用のworldインスタンスのsceneプロパティーが3D表示空間となります
// world.sceneに対して上で作成した球面を表示(addChild)します
world.scene.addChild(sphere)
// Papervision3Dでは空間をレンダリングさせることで初めて表示されます
// worldインスタンスに対してstartRendering()させます
world.startRendering()
}
private function initAdd():void{
addEventListener(Event.ENTER_FRAME, loopFunc)
stage.addEventListener(MouseEvent.MOUSE_UP,resetFunc);
//つけたり外したりしない限りは最低限のスコープで書いた方がスマート?
function loopFunc(e:Event):void{
sphere.rotationX += 2
sphere.rotationY += 2
sphere.rotationZ += 2
}
function resetFunc(event:MouseEvent):void{
initFunc();
}
}
}
}