2014-09-09 2 views
2

체스 게임을 만들고 있는데 방법이 고착되었습니다.사용자의 두 번째 클릭을 기다리는 방법

사용자가 이동하려는 부분을 클릭하면 나는 선택한 피스의 대상을 선택하기를 기다리고 싶습니다.

나는 이미 조각을 선택하는 첫 번째 클릭 이벤트 핸들을 가지고 있지만 대상을 선택하는 두 번째 클릭을 처리하는 방법을 잘 모르겠다.

여기 내 질문이 있습니다. 사용자가 이미 보드를 한 번 클릭 한 후 사용자가 클릭 할 때까지 기다리는 방법이 있습니까?

+0

첫 번째 클릭을 기록하기 위해 어딘가에 상태를 추가해야합니다. 이 시점에서 프로그램은 두 번째 클릭을 기다리는 '모드'로 작동해야합니다. 새 클릭 이벤트는 처녀 모드에 있었던 것과 다른 행동을해야합니다. –

답변

1

간단히 말해서, 아니요. 이벤트 중심 환경에서 작업하고 있습니다. 즉, 이벤트가 처리됩니다.

당신이해야 할 일은 응용 프로그램의 현재 상태에 대한 결정입니다. 예를 들어

...

  • 사용자는 조각을 클릭한다. 이전에 조각이 선택되었는지 확인하고 그렇지 않으면 "선택한 조각"을 설정합니다. 그렇지 않으면 이동이 유효한지 여부를 결정합니다.
  • 사용자가 빈 부분을 클릭합니다. "선택한 작품"이 설정되어 있는지 확인하고,있는 경우 이동이 합법적인지 아닌지를 결정하거나 다른 방법으로 무시하는 것이 좋습니다.

과정은

예를 들어

...

"A4에 조각을 이동"... 요청을 처리하는 모델을 모델 내에서 적절한 상태를 설정 및 허용

입니다
  • 조각을 선택하지 않았습니다. 잘못된 작업입니다.
  • 조각을 선택했지만 조각은 그런 식으로 움직일 수 없습니다. 잘못되었습니다. 작동
  • 조각 선택, 그리드 점령 ... 다른 조각을
  • 등 ...

별도의 실제 물리적 구현과 게임 "논리", 그것은 당신의 일을 크게 만들 것입니다 조각들을 수 있습니다 장기적으로 쉽게 ...

관련 문제