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

フレームアクションで覚える Papervision3D サンプル Vol.01

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

// 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.*;
public class FlashTest extends MovieClip {
public function FlashTest() {addFrameScript(0, func);}
public function func():void {

// ------------------------------------------------------------------
// ▼▽▼ ここからフレームアクション ▼▽▼
// ------------------------------------------------------------------

/*
以下のコードを Flash CS3/CS4 のフレームアクションにコピペしても動きます。
ただし Papervision3D ライブラリが必要になります。
参考 http://clockmaker.jp/blog/2009/02/pv3d_frame_action_01/
*/

// Papervision3Dライブラリを読み込み
import org.papervision3d.view.BasicView;
import org.papervision3d.objects.primitives.*;

// 3D表示用の基本インスタンスを作成します
var world:BasicView = new BasicView();
addChild(world);

// 球面のオブジェクトを作成します
var sphere:Sphere = new Sphere();

// 3D表示用のworldインスタンスのsceneプロパティーが3D表示空間となります
// world.sceneに対して上で作成した球面を表示(addChild)します
world.scene.addChild(sphere)

// Papervision3Dでは空間をレンダリングさせることで初めて表示されます
// worldインスタンスに対してstartRendering()させます
world.startRendering()

// アニメーションさせるためにEnterFrameのループイベントを指定します
addEventListener(Event.ENTER_FRAME, loop)

// 毎フレーム時に実行されるループイベントです
function loop(e:Event):void{
     // 球面をY軸方向に回転させます
     sphere.rotationY += 2
}

// ------------------------------------------------------------------
// ▲△▲ ここまでフレームアクション ▲△▲
// ------------------------------------------------------------------
}}}