ピーク前にからくもAdobe CS3の Production Premiumを手に入れ、今更ながらFlashやらAfter Effectsにも本腰を入れられる環境が整った。
今までFlexSDKやらでAS3の勉強はしてたけど、やっとFlashのIDEでまともに作業できるようになってホッとした。Flash Developとか使いたいけどOSはまだ10.4.*なのでガマンガマン。AEも含めて試したいこと・試すべきこと山ほどある中、よせばいいのにPapervision3Dに手を出した。
うーん、背景黒にしたのに黒にならないわ(情けない話、wmodeをそう設定してただけでした)、読み込むたびにメッシュラインのカラーが違うわ、分からんことが多いけど、とりあえず宇宙空間に浮かんで自転する地球を表現できるまでやってみる。
そんなこんなでついでに「SyntaxHighlighter」も試してみようということで、駄コードを晒してみる。
package
{
import flash.display.Sprite;
import flash.events.Event;
import org.papervision3d.cameras.Camera3D;
import org.papervision3d.render.BasicRenderEngine;
import org.papervision3d.view.Viewport3D;
import org.papervision3d.scenes.Scene3D;
import org.papervision3d.objects.primitives.Sphere;
public class Main extends Sprite
{
private var viewport:Viewport3D;
private var scene:Scene3D;
private var camera:Camera3D;
private var renderer:BasicRenderEngine;
private var earthBase:Sphere;
public function Main():void
{
init();
}
public function init():void
{
//viewport
viewport = new Viewport3D(470, //viewportWidth
350, //viewportHeight
false, //autoScaleToStage:Boolean
false, //interactive:Boolean
true, //autoClipping:Boolean
true //autoCulling:Boolean
);
addChild(viewport);
//render
renderer = new BasicRenderEngine();
//camera
camera = new Camera3D();
//scene
scene = new Scene3D();
//material
earthBase = new Sphere(null,
240,
20,
20);
scene.addChild(earthBase);
addEventListener(Event.ENTER_FRAME, onRenderTick);
}
protected function onRenderTick(e:Event):void
{
earthBase.rotationX += 2;
earthBase.rotationY += 1.5;
earthBase.rotationZ += 1;
renderer.renderScene(scene, camera, viewport);
}
}
}
なぜだ。「SyntaxHighlighter」が効いてないみたい... orz

コメントする