나는 게임 주마 같은 J2ME 뭔가을위한 게임을 만들려고 노력하고있어, 당신이 알아야 할 클래스의 구조는 다음과 같다 점의 벡터 (내가 만든 점은 점, 공이 따라갈 경로), 공의 벡터 (나는 공이라는 클래스를 만들었습니다)가 다른 공의 대상, 속도 (특정 수준의 공의 속도)를 유지합니다. (더 많은 필드가 있지만 걱정할 필요는 없습니다)J2ME 게임 스레드
-Frog 클래스 - 게임 클래스가 익숙하지 않은 경우 제어 클래스가 가능한 터렛이 될 수 있습니다. 공을 쏜다.). (해당 클래스의 필드에 대해 걱정할 필요가 없습니다.)
-MyGameCanvas는 분명히 GameCanvas를 확장하고 실행 가능 요소를 구현하며 개구리와 레벨 (현재 재생되는 레벨)의 인스턴스를 보유합니다. 당신은 걱정할 필요가 있습니다). run 메소드는 사용자가 마우스 왼쪽 버튼을 누르면 X 값만큼 개구리 (본질적으로 스프라이트)를 누를 때 사용자 입력에 대한 청취자의 역할을합니다. -X만큼 회전하고 OK를 누르면 공을 쏠 수 있습니다. 스레드는 입력을 처리하는 것 외에 화면에서 진행되는 것을 렌더링하는 render 메서드를 호출하고 점의 벡터를 사용하여 (현재 레벨 인스턴스를 사용하여) 공 벡터에서 볼 위치를 업데이트합니다 (레벨 인스턴스에서도 마찬가지 임). 문제는 각 레벨마다 속도가 다르기를 원한다는 것입니다. 속도는 볼이 화면에서 느리게 움직이는 ("이동") 것을 의미하므로 Thread.sleep 메서드의 속도 값을 사용하여이를 수행 할 수 있습니다. 실행 방법은 개구리 움직임과 입력 반응을 만드는 사용자로부터 입력을 받아들이고 있기 때문에 수면 시간도 느려질 수 있습니다. 나는 각 공마다 별도의 스레드를 수행하는 것이 좋겠다고 생각하지만 스레드가 많이 있기 때문에 실제로는별로 좋지 않습니다. + 화면의 각 볼 위치를 업데이트 할 때 나는 볼과 그 뒤에있는 틈 사이에 갭이 있거나 볼을 렌더링 할 때 볼이 뒤로 거꾸로 움직일 필요가있는 것처럼 레벨 인스턴스의 전체 볼 벡터를 실제로 사용합니다 공에 따라 다르다. 그 사람이 이미 렌더링 된 후에 "트랙"(포인트 벡터)에, 그래서 내가 어떻게해야하는지 잘 모르겠다. 어떤 어드바이스 지침은 고도로 설명 될 것이다! 사전에 감사 드리며 잘하면 내가 쓴 것을 이해할 수 있었으면 좋겠다. 또한 코드 예제를 제공 할 필요가 없다고 생각한다. 내가 쓴 것을 변경하고 싶지 않기 때문에 실제로 코드 예제를 제공하지 않을 것이다. run/render 메서드를 사용하면 내가 준 클래스의 구조와 내가 들었던 필드 만 알면된다.
실례지만, 다시 질문이 무엇입니까? –
내가 설명한 것을 구현하는 또 다른 방법을 찾으려고합니다. 입력 리스너와 화면 업데이트를 동일한 스레드에서 수행하여 동일한 스레드에서 문제를 일으키는 이유는 (원래 게시물에 설명 된) 공 각 레벨마다 속도가 다르기 때문에 처음에는 Thread의 sleep 메서드로 속도를 사용하는 것이 좋겠다고 생각했습니다. 그렇다면 리스너가 영향을 받고 속도가 느려져서 원하지 않으므로 다른 스레드를 찾으려고합니다. 그걸 할 수있는 방법을 생각할 수 없어 좋은 길을 생각할 수 없었습니다. 어쩌면 누군가가 저에게 어떻게 할 수 있을지 생각할 수 있도록 도울 수 있습니다. – user3497284
속도를 유지하는 '속도'라는 변수를 추가하는 것은 어떻습니까? –