2010-04-05 5 views
0

Im 전체 papervision 장면에서 새로운 종류의. 학교 과제로 나는 큐브에 6 장의 그림이있는 내 방의 파노라마 버전을 만들고 있습니다. 그것은 파노라마를 만들었고, 훌륭하게 작동합니다.다른 클래스의 DisplayObject3d를 'addChild'하는 방법은 무엇입니까? (Papervision3d)

하지만 지금은 클릭 가능한 개체를 추가하고 싶습니다. 하나의 요구 사항 중 내 코드는 OOP에 초점을 맞추고있다. 그래서 그것이 바로 지금 제가 시도하고있는 것입니다. Main.as은 (여기에 내가 방으로 파노라마 큐브를 만드는) - - photoWall.as (여기에 내가 처음으로 클릭 가능한 객체를 만들려면)

이제 내 문제가

은 현재 내가 두 개의 클래스를 가지고 : photoWall.as 의 클릭 가능한 객체를 내 파노라마 룸에 추가하고 싶습니다. 하지만 그는 그것을 보여주지 않습니까? 나는 그것이 장면과 과 관련이 있다고 생각합니다. Main.as와 photoWall.as에서 새로운 장면을 사용합니다.
private function portret():void 
{ 
    //defining my material for the clickable portret 
    var material : BitmapFileMaterial = new BitmapFileMaterial('images/room.jpg'); 
    var material_list : MaterialsList = new MaterialsList({ front: material, back: material }); 

    // I don't know if this is nessecary? that's my problem 
    scene = new Scene3D(); 

    material.interactive = true; 

    // make the clickable object as a cube 
    var photoList : DisplayObject3D = new Cube(material_list, 1400, 1400, 1750, 1, 4, 4, 4); 

    // positioning 
    photoList.x = -1400; 
    photoList.y = -280; 
    photoList.z = 5000; 

    //mouse event 
    photoList.addEventListener(InteractiveScene3DEvent.OBJECT_CLICK, onPress); 

    // this is my problem! I cannot see 'photoList' within my scene!!! 
    scene.addChild(photoList); 

    // trace works, so the function must be loaded. 
    trace('function loaded'); 
} 

너희들이 여기 좀 도와 수 있기를 바랍니다 : 오류 또는 경고가

를보고있다 이것은 내가 내 개체 (목록 (PhotoList))를하면 addChild하고자했다 photoWall.as의 작품이다. 정말로 위대 할 것입니다!

감사합니다,

산도르

답변

0

당신은 할 수 있습니다 자체 전에 아무것도 렌더링해야합니다.

실종 : viewport.startRender()

0

다른 클래스에서 아니, 난 이미 렌더링 다. 알아 냈습니다. 대답은 :이 클래스를 displayobject3d로 만들어야합니다. 그게 전부입니다. 이제 무대에 추가 한 모든 것이 디스플레이 객체 3d입니다.

자세한 내용은 코드를 참조하십시오.

http://www.sandorkerst.com/papervision/bin

:

여기 내 작은 프로젝트의 결과를 볼
관련 문제