2012-01-18 1 views
0

본질적으로 영화 클립 인 많은 비주얼을 다루는 클래스가 있습니다. 그래서 나는 약 50 개의 개인적으로 선언 된 무비 클립을 가지고 있습니다. 사전에 넣고 이름으로 (키로) 검색하거나 배열에 넣거나 그대로 두는 것이 좋습니다.클래스에 동일한 유형의 개인 멤버가 50 개있는 경우 벡터/배열/사전에 넣거나 그대로 둡니다.

내 문제는 시각 장애인처럼 많은 개인 회원이있는 지금 내 수업의 시각적 인 모습입니다.

+0

언제든지 영화 클립 그룹에 액세스하려고한다고 생각하면 사전 –

+0

또는 배열에 넣으십시오. – crooksy88

+0

동영상 클립이 모두 동영상 클립이 아닌 경우 어떻게해야합니까? –

답변

2

코드에서 모두 동일하게 처리하면 절대적으로 배열에 넣습니다. 당신이 방법을 멈추는 것처럼 :

public function stop() : void { 
    for each(var clip : MovieClip in clips) { 
     clip.stop(); 
    } 
} 

만약 당신이 그 종류의 것들을 많이한다면, 배열은 의미가 있습니다. 다음과 같이 개별적으로 치료하는 경우 :

public function waveHand() : void { 
    handWavingClip.play(); 
} 

그런 다음 사전을 사용하면 의미가 있거나 그대로 유지 될 수 있습니다. 클래스를 정리하려면 포함하는 클래스가 참조 할 수있는 클래스로 그룹화 할 수 있습니다. 사전 추출 방법은 인스턴스 변수를 사용하는 것보다 오랜 시간이 걸릴 것으로 예상됩니다. 50 개의 비공개 무비 클립이 큽니다. 나는 이것이 반드시 게임이어야한다고 생각합니다. 개체의 상태를 구성 할 수도 있습니다. 예를 들어 클립 세트를 함께 보관할 수 있습니다. 캐릭터가 특정 상태가되면 해당 상태를 수행하는 데 필요한 클립을 꺼낼 수 있습니다. 그것이 사전이 더 의미있는 곳입니다.

내가 제공 할 수있는 최상의 문맥 세부 정보가 더 이상 필요하지 않습니다. 귀하의 문제에 대한 올바른 구조는 아마도 당신이이 물건으로 무엇을하고 있는지에 달려있을 것입니다. 아마도 구조가 더 좋을 수도 있지만, 당신이하는 일을 모른 채로는 볼 수 없습니다.

+0

예, 게임입니다. 상황 별 데이터를 저장하는 클래스가 있으면 훌륭한 아이디어처럼 들립니다. 자세한 도움을 주셔서 감사합니다. –

+0

벡터/배열/사전/객체 접근법은 깨끗하고 매우 유용하지만 액세스가 느리다는 것을 잊지 마십시오. 게임에서 이것은 전체적인 차이를 만들 수 있습니다. – NemoStein

관련 문제