2010-10-22 14 views
7

OpenGL kullanarak, android bir oyun için biraz iskelet yazmaya çalışıyorum. Bilmek istiyorum, ana oyun döngüsü kodumu nereye yerleştirmeliyim?Android oyunda ana oyun döngüsünü yerleştirmek için nerede

Şimdiye kadar, benim en iyi aday olduğu kare başına çağrılması gibi görünüyor, bu nedenle kod şöyle Renderer.onDrawFrame (...) yöntemi,:

void onDrawFrame(GL10 gl) 
{ 
    preLoopActions(); 

    m_gameScene->onUpdate(); 
    m_gameScene->onRender(gl); 

    postLoopActions(); 
} 

daha iyi bir yaklaşım var mı? Bunu sevmiyorum çünkü 1) Android'in beni sadece oluşturmasını beklediği yerde güncellemeyi ve renderlemeyi karıştırmam gerekiyor ve 2) bu yöntem oyunun karmaşıklığını arttıran ayrı bir "render thread" den çağrılıyor gibi görünüyor.

cevap

1

AndEngine gibi bir çerçeveyle çalışmayı düşündünüz. Hayatı oldukça kolaylaştıran GameActivity olarak adlandırılan bir şey var. Örnekler almak oldukça kolay.

2

Matematik ve çizim mantığını ayırın. İstediğiniz şey, bu döngüde bir çalışma döngüsüne sahip bir iş parçacığı oluşturmaktır, böylece matematik() bölümünü çalıştırırsınız ve işleyişiniz olduğunda iş parçacığının zamanlamasını denetlemek için bazı teknikler varsa render() kısmını çağırırsınız.

İlgili konular