[ 참조 ]
Scene3D (scene) 와 DisplayObject3D (sphere) 는 DisplayObjectContainer3D를 상속받아, DisplayObjectContainer3D의 addChild() 메소드를 사용할 수 있게 됩니다. └DisplayObject3D └SceneObject3D └Scene3D
DisplayObjectContainer3D
DisplayObjectContainer3D
: 지구는 태양을 중심으로 돌고 달은 지구를 중심으로 돌고 있는 형태입니다.
(자세한 값을 확인하고 싶은 경우 sceneX, sceneY, sceneZ 값을 확인하면 좋습니다.)
//Main.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:Application
creationComplete="init()"
frameRate="40"
xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
import sample.NestingExample;
import mx.core.UIComponent;
private function init():void{
var bs:NestingExample = new NestingExample();
var ui:UIComponent = new UIComponent();
ui.addChild(bs);
this.addChild(ui);
}
]]>
</mx:Script>
</mx:Application>
//NestingExample.as
package sample
{
import flash.events.Event;
import org.papervision3d.objects.primitives.Sphere;
import org.papervision3d.view.BasicView;
public class NestingExample extends BasicView
{
private var _sunSphere:Sphere;
private var _earthSphere:Sphere;
private var _moonSphere:Sphere;
public function NestingExample()
{
init();
startRendering();
}
private function init():void{
_sunSphere = new Sphere(null,200,16,12);
_earthSphere = new Sphere(null,100,12,8);
_moonSphere = new Sphere(null,50,8,4);
_earthSphere.x = 400;
_earthSphere.y = -50;
_moonSphere.x = 200;
_moonSphere.y = 50;
scene.addChild(_sunSphere);
_sunSphere.addChild(_earthSphere);
_earthSphere.addChild(_moonSphere);
}
override protected function onRenderTick(event:Event=null):void{
_sunSphere.localRotationY+=1;
_earthSphere.localRotationY+=2;
super.onRenderTick();
}
}
}
'etc > old' 카테고리의 다른 글
[iPhone] 아이폰 사용요금 확인하기 (0) | 2009.12.07 |
---|---|
[ PV3D ] 3-4 구 안쪽에 구 넣기 (0) | 2009.10.12 |
[ PV3D ] 3-2 Primitives - Plane (0) | 2009.10.10 |
[ PV3D ] 3-1 Primitives 기본모델? (0) | 2009.10.10 |
[ PV3D ] 2-3 기초예제 2 - 코드량 줄이기 (0) | 2009.10.08 |