2014-02-19 4 views
0

Slick2D를 사용하여 간단한 게임을 만들기 위해 메뉴 프로그래밍을 시작합니다. 내 메뉴는 본질적으로 옵션 목록으로, 선택하면 더 많은 옵션이있는 하위 메뉴를 열 수 있습니다. 예를 들어Slick2D : StateBasedGame 및 메뉴 만들기

는 :

Options 
------- 
Video 
Audio 
Back 

내 문제는 내가 각각의 하위 메뉴에 대해 다른 BasicGameState를 초기화해야하거나 거기에 있습니다 : 옵션 다음과 같은 메뉴를 선택

Main Menu 
--------- 
New Game 
Options 

나타납니다 이것을 처리하는 더 좋은 방법은?

답변

1

상태 기반 게임은 매우 엄격하게 스플래시 화면, "새 게임"메뉴 (메인 메뉴와 같은) 및 게임 플레이간에 구분을 사용하는 데에만 사용됩니다. 3 개 또는 4 개 이상인 경우 비효율적 인 방식으로 확실히 사용하고 있음을 의미합니다.

BasicGameState 클래스는 해당 게임 상태에서 사용할 수있는 메뉴 상호 작용 내용을 포함하여 모든 게임 코드를 포함해야합니다.

설명대로 메뉴를 수행하려는 경우 MenuBar라는 클래스를 만들고 메뉴 클래스에 항목 클래스가있는 MenuItem 클래스를 채울 수 있습니다. 특정 x 범위에서 메뉴 표시 줄을 클릭하면 해당 MenuItem은 하위 항목을 표시하기위한 것일 수있는 부울 값 반전을 true로 설정할 수 있습니다. 그 이후의 경계 안에 마우스가 없다면, 부 울린은 false로 바뀌고 Item의 아이템은 그려지지 않을 것입니다.

바라건대 올바른 방향으로 나아갈 수 있기를 바랍니다. BasicGameStates에 넣으려는 항목을 선택해야합니다 (BasicGameStates는 다음과 같습니다 : http://en.wikipedia.org/wiki/Singleton_pattern이므로 Singleton의 내용을 읽는 것이 좋습니다. 게임에있는 각 게임 상태의 고유 한 유형을 하나만 가져야합니다.) 각 하위 메뉴에 대한 별도의 게임 상태가 매우 비효율적이며 slick2d 라이브러리에서 작동하기가 더렵습니다.