Android에서 게임을 즐기며 단일 스레드에서 실행됩니다. run()에서 작업을 수행하고 onDraw()에서 무승부를 수행합니다. 아주 간단합니다.Android 게임이 모든 기기에서 동일한 속도로 실행되도록하는 가장 좋은 방법
그러나 Droid에서는 G1보다 훨씬 빠르게 실행됩니다.
장치에 관계없이 게임이 동일한 속도로 실행되도록하는 가장 좋은 방법은 무엇입니까?
Android에서 게임을 즐기며 단일 스레드에서 실행됩니다. run()에서 작업을 수행하고 onDraw()에서 무승부를 수행합니다. 아주 간단합니다.Android 게임이 모든 기기에서 동일한 속도로 실행되도록하는 가장 좋은 방법
그러나 Droid에서는 G1보다 훨씬 빠르게 실행됩니다.
장치에 관계없이 게임이 동일한 속도로 실행되도록하는 가장 좋은 방법은 무엇입니까?
일반적으로 코드가 반복되고 시간 간격을두고 프레임이 그려지는 "게임 루프"(http://gamedesign.wikicomplete.info/game-loop)를 사용하여 제어됩니다. 다른 장치를 사용하는 경우 프레임을 그리는 데 시간이 오래 걸릴 수 있으므로 일반적으로 "세부 묘사"(LOD)를 동적으로 조정하거나 모든 프레임을 프레임을 그리지 않는 "프레임 건너 뛰기"를 사용하여 처리합니다.
Allegro 5 game: game loop that runs at constant speed?
-Oisin
빠르게 실행하면 일반적으로 좋은 일이 : 사실 이것에 대한 기본 알고리즘을 데모 버튼 또 다른 질문입니다! 모든 장치에서 게임이 올바르게 실행되도록하는 가장 좋은 방법은 마지막 업데이트 이후 경과 한 시간에 업데이트를 기반으로하는 것입니다. 이렇게하면 더 빠른 장치에서 실행할 때 게임의 느낌이 일관되게 유지됩니다.
그렇지 않으면 더 빠른 장치에서 절전 모드를 추가 할 수 있습니다. 그러나 가능한 한 부드럽게 실행하지 마십시오.
배터리를 더 빨리 소모하고 불필요하게 다른 프로세스가 CPU를 사용하지 못하게하기 때문에 사용자는 계속 사용할 수 있기를 원할 것입니다. CPU를 먹으려 고한다면 "좋은"옵션이 있어야합니다. – LarsH
매우 흥미로운 감사합니다! – Jorgesys
Wikicomplete가 나를 위해 시간 초과되었습니다. 여기 [게임 루프에 관한 좋은 기사] (http://www.koonsolo.com/news/dewitters-gameloop/)가 있습니다. – idbrii