나는 지금 게임을 만들고 있고 거의 모든 것이 자신의 클래스를 가지고 있습니다. 내가 가지고있는 주된 수업은 나의 'Level'과 'Object'수업입니다. 레벨 클래스에는 레벨의 모든 이미지에 대한 이미지가 포함되어 있으며, Object 클래스에는 화면의 각 객체에 대한 이미지가 포함되어 있습니다 (객체는 플레이어, 적, 항목 등).프로그램의 어느 곳에서나 변수에 액세스 할 수있는 가장 좋은 방법은 무엇입니까?
지금 당장 가지고있는 방법은 Object 클래스에 Image가 있고 새 객체를 만들 때 새 이미지를로드하는 것입니다. 그래서 같은 이미지를 사용하는 두 개의 적을 가지고 있다고 가정 해 봅시다. 객체의 두 인스턴스가 모두 이미지를로드하고 메모리에 동일한 이미지가 두 개있을 것입니다. 이것은 정말 나쁜 생각처럼 보이고 나중에 게임이 더 복잡 해지면 속도가 느려질 것입니다.
그래서 저는 모든 이미지를 보유 할 수있는 Resource Manager 클래스와 같은 것을 가지고 있으며, 각 개체가 리소스 관리자에게 필요한 이미지를 요청할 것이라고 생각했습니다. 그렇게하면 각 이미지를 한 번만 저장하고 공간을 절약 할 수 있습니다.
Object 클래스의 정적 변수를 사용하면 쉽게이 작업을 수행 할 수 있지만 Level 클래스도 이미지를 사용해야하므로 Resource Manager에 대한 액세스가 필요합니다. 오브젝트/레벨 (또는 나중에 필요로하는 다른 클래스)의 각 인스턴스에 자원 관리자에 대한 포인터를 보내고 그런 식으로 액세스하는 것이 가장 좋을까요? 아니면 이것을 할 수있는 더 좋은 방법이 있을까요?
가장 좋은 방법은 (일반적으로) 이러한 변수가없는 것입니다. – delnan