Papervision3Dの練習その1
Create, Flash · swfはこちら
一般的なプログラミングで言うとhelloworld並の簡単なプログラムから初めていきます。オブジェクト指向の概念はJavaを少し触ったのいたので抵抗無く入り込めた。
マウスのイベント処理は頭使いそうなのでパスして、機能の勉強を重視していきます。
コーディングはFlashDevelopでやっています。タイピング遅いので単語補完ありがたい。
package
{
//import flash.display.Sprite;
import flash.events.Event;
import org.papervision3d.materials.special.CompositeMaterial;
import org.papervision3d.view.*;
import org.papervision3d.objects.primitives.*;
import org.papervision3d.objects.DisplayObject3D;
import org.papervision3d.materials.*;
import org.papervision3d.materials.utils.MaterialsList;
public class Main extends BasicView
{
private var container:DisplayObject3D;
private var count:Number = 0;
public function Main():void
{
//super();
init();
startRendering();
}
private function init():void
{
container = new DisplayObject3D();
var colorMaterial:ColorMaterial = new ColorMaterial(0x7799BB);
var wireMaterial:WireframeMaterial = new WireframeMaterial(0x000000);
var compoMaterial:CompositeMaterial = new CompositeMaterial();
var compoMaterial2:CompositeMaterial = new CompositeMaterial();
compoMaterial.addMaterial(colorMaterial);
compoMaterial.addMaterial(wireMaterial);
//compoMaterial.doubleSided = true;
compoMaterial2.addMaterial(colorMaterial);
compoMaterial2.addMaterial(wireMaterial);
compoMaterial2.doubleSided = true;
var my3dobj:Sphere = new Sphere(compoMaterial);
var myPlane:Plane = new Plane(compoMaterial2);
var myPlane2:Plane = new Plane(compoMaterial2);
var myCube:Cube = new Cube(new MaterialsList({all :compoMaterial}));
myPlane.x += 500;
myPlane2.y += 500;
myCube.x -= 500;
scene.addChild(container);
container.addChild(my3dobj);
container.addChild(myPlane);
container.addChild(myPlane2);
container.addChild(myCube);
}
override protected function onRenderTick(event:Event = null):void
{
//container.yaw(1);
//container.pitch(3);
//container.roll(2);
camera.x = 1000 * Math.sin(count/40);
camera.y = 1000 * Math.sin(count/20);
count++;
super.onRenderTick(event);
}
}
}
参考
FrontPage - kozy.heteml.jp
Papervision3Dやってみるシリーズ | [FlaTech+]WebDesign Rainyday