Flash/Away3D

얼사마 2011. 4. 12. 12:34

두 개 이상의 오브젝트를 하나의 그룹으로 묶기

private var _container:ObjectContainer3D;

private function loadObject():void

{

       // 중간 생략

       var box:Cube = new Cube(boxMaterial, 100,200,300);  // Cube 생성

       var sphere:Sphere = new Sphere(sphereMaterial, 100, 16, 12);  // Sphere 생성

       var container = new ObjectContainer3D();  // Container 생성

       container.addChild(box);  // Container Cube 추가

       container.addChild(sphere);  // Container Shpere 추가

       container.y = 200;  // Container 이동

       this._scene.addChild(container);  // Scene Container 추가

}

위와 같이 ObjectContainer3D에 오브젝트를 추가하게 되면,

해당 오브젝트들은 컨테이너에 종속적이게 된다.

 

Sprite Sprite를 추가(addChild)하는 것과 같이,

ObjectContainer3D ObjectContainer3D를 추가(addChild)할 수도 있다.

 

하위 오브젝트들은 상위 컨테이너에 종속적이기 때문에,

상위 컨테이너의 속성이 변경되면, 하위 오브젝트들 역시 같이 변경되게 된다.

예를 들어, x,y,z의 공간 이동이나, ratationX/Y/Z 또는 scaleX/Y/Z 등의 변경 역시 마찬가지이다.