2013-04-10 4 views
-3

필자는 finnaly가 Java-3D로 만든 두 개의 볼 사이에 내 프로그램이 충돌을 감지하도록 관리했습니다. 선수 공과 적 공. 이제 문제는 플레이어 볼이 적구와 충돌 할 때 플레이어 볼을 제거하는 방법을 모르겠다는 것입니다. 내가 objTrans.removeChild(sphere);objRoot.removeChild(objTrans); 같은 몇 가지 간단한 거즈를 시도 (objTrans 내지는 tRANSFORMgROUP이며 objRoot 내 BranchGroup에있다) 두 경우 모두에서 나는 또한 objRoot.detach();을 시도분야 제거

Exception in thread "AWT-EventQueue-0" javax.media.j3d.RestrictedAccessException: Group: only a BranchGroup node may be removed 

이 오류 메시지가 그러나 나는 오류 메시지 :

Exception in thread "AWT-EventQueue-0" javax.media.j3d.CapabilityNotSetException: BranchGroup: no capability to detach 

나는 공을 제거하는 다른 방법을 모른다. 도와주세요.

답변

0

게임을 직접 디자인 할 때도 같은 문제가 발생했습니다. 내가 가장 잘 수행 한 솔루션은 필요할 때마다 요소를 반복하고 삭제할 수있는 목록에 파괴 될 수있는 객체를 저장하는 것이 었습니다.

+0

Java-3d에서 어떻게 구체로 그 작업을 수행 할 수 있습니까? – user2247859

+0

List를 만들기 훨씬 전에 BranchGroup 개체를 사용하고 있는지 확인하십시오. 브랜치 그룹 (branch.detach)을 사용하여 라이브 장면에서 이들을 제거 할 수 있기 때문에 – phcoding

+0

"AWT-EventQueue-0"이라는 예외 메시지가 표시되면 javax.media.j3d.CapabilityNotSetException : BranchGroup : 기능 없음 떼다 – user2247859