2011-09-10 4 views
0

자바로 첫 게임을 만들고 있습니다. 그것은 간단한 2D 하향식 슈팅 게임입니다. 카메라가 내 캐릭터를 따라 가도록하고 싶습니다. Canvas를 사용하여 카메라가 정확히 가운데에있는 캐릭터를 따라갈 수 있도록 만드는 방법은 무엇입니까? 화살표 키를 누르면지도가 움직이는 동안. 논리에 대한자바 2D 게임 질문

+1

스윙 또는 AWT? 나는 JScrollPane (scrollbars없이)을 사용하여 Swing에서 이와 같은 작업을 수행하고 모델의 값을 설정한다. –

+0

논리, 또는'Canvas' 호출을하는 자바 부분을 원합니까? –

+0

나는 논리를 원한다고 생각한다. – Anonymous

답변

1

하나의 가능성은있다 :

  • 리스너를 생성하고 (직접 또는 간접적으로 당신의 디자인에 따라) 캐릭터에 첨부. 문자 이동 또는 위치 변경을 들어보십시오.
    • 문자 클래스에 addListener 메서드가 있음을 직접 의미합니다.
    • 간접적으로 문자 클래스는 이벤트를 전역 이벤트 버스에 게시하며,이 이벤트 버스를 통해 리스너는 특정 유형의 이벤트를 수신하도록 등록합니다.
  • 문자 위치 &에 따라 카메라 위치를 계산하십시오. 이것은 약간의 수학이 필요합니다!

이벤트 시스템을 사용하여이 기능을 구현하면 카메라를 움직이는 논리와 문자를 이동시키는 논리를 쉽게 분리 할 수 ​​있습니다. 이렇게하면 화살표 키를 움직이게하거나 클릭하여 움직이면 카메라 로직이 영향을받지 않게됩니다.

미안 Java 2D 및 Canvas 호출에 관한 일반적인 도움을 드릴 수는 없지만이 작업을 수행하는 방법에 대한 광범위한 예가 도움이되기를 바랍니다.

+0

감사합니다. 큰 도움이되었습니다. 나는 자바 게임 개발자가 상당히 새롭기 때문에 실제로 카메라를 만드는 방법에 대해 궁금해하고있었습니다. 마찬가지로 "카메라"를 확대/축소하려면 어떻게해야합니까? 그에 따라 다른 모든 것의 크기를 조정해야한다는 것을 이해합니다. 그러나 올바른 방향으로 모범을 보일 수 있습니까? – Anonymous

+0

저는 그런 것들에 익숙하지 않지만, [Killer Game Programming in Java] (http://shop.oreilly.com/product/9780596007300.do)에서 예제를 볼 것을 권장합니다. –