이렇게하는 방법은 여러 가지가 있으며 "최상의"습관은 없습니다. 모두 그 파일을 만드는 방법에 달려 있습니다.
일반적으로 DevilDog
클래스는 "자산"매개 변수를 사용하고 그래픽 개체를 멤버 변수 내에 유지합니다. 이것이 의미하는 것은 논리가 그래픽과 분리되어 있으며, 다른 그래픽을 사용하여 클래스를 사용할 수 있으며,이를 구성 할 때 인수로 전달하는 것입니다.
public class DevilDog {
private var _graphic:Sprite; // could be MovieClip, Bitmap, whatever you have
public function DevilDog(graphic:Sprite) {
_graphic = graphic;
}
// OR
public function setGraphic(graphic:Sprite):void {
_graphic = graphic;
}
}
공통 : -
당신이 당신의 사전에 일 할 수있는이 방법, 부하 자산을 당신이 원하는 모든 방법으로 조작, 필요한 경우이를 전환 등의 예제 코드는 다음과 유사 할 것 연습은 그래픽을 단지 한 번 (어쩌면 생성자에서) 설정하는 것입니다. 이것은 인스턴스화 된 그래픽이 있고 모든 것이 작동하는 문제에서 실행되지 않고 어딘가에서 새로운 그래픽이 설정되고 모든 것을 엉망으로 만들기 때문에 수행됩니다.
기본적으로 이것은 가장 많이 사용되는 방법이며, 왜 그런지 이해할 수 있습니다. 다른 방법이 있지만 거의 항상 작동합니다.
세터 접근 방식이 더 좋을 것이라고 생각합니다. 런타임에 스킨을 전환 할 수 있다는 것은 매우 강력합니다. 즉, 캐릭터에 대한 훨씬 더 일반적인 기본 클래스 (동작을 공유한다고 가정 할 때)를 볼 수 있고, 모양에 따라 다른 스킨을 제공 할 수 있습니다. –
그렇기 때문에 나는 그것을하는 법을 진정으로 알지 못하는 모든 사람들을위한 일반적인 관행이라고 말한 것입니다. 의존성 주입을 마스터하고 제대로 처리한다면 - 훌륭한 접근 방법입니다! 나는 런타임에 새로운 그래픽을 다루는 것에 대해 너무 신경 쓰지 않기를 바랬다. 여하튼 좋은 점! :) –
thnx, 당신의 대답을 위해! 매우 도움이 :) – theseal53