2010-10-22 33 views
7

Tôi đang cố gắng viết một số bộ xương cho một trò chơi trên Android, bằng cách sử dụng OpenGL. Tôi muốn biết, tôi nên đặt mã vòng lặp trò chơi chính của mình ở đâu?Nơi để đặt vòng lặp trò chơi chính trong trò chơi android

Cho đến nay, ứng viên tốt nhất của tôi là (...) phương pháp Renderer.onDrawFrame, mà dường như được gọi là mỗi khung hình, vì vậy các mã trông như thế này:

void onDrawFrame(GL10 gl) 
{ 
    preLoopActions(); 

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

    postLoopActions(); 
} 

Có phương pháp nào tốt hơn? Tôi không thích điều này bởi vì 1) Tôi phải trộn và cập nhật tại chỗ, nơi mà android mong đợi tôi chỉ hiển thị và 2) phương pháp này dường như được gọi từ "chuỗi hiển thị" riêng biệt, làm tăng độ phức tạp của trò chơi.

Trả lời

1

Bạn đã xem xét làm việc với khung như AndEngine. Nó có một cái gì đó gọi là một GameActivity mà làm cho cuộc sống khá dễ dàng. Các ví dụ khá dễ dàng để tiếp tục.

2

Tách logic toán học và bản vẽ. Những gì bạn muốn là tạo một luồng có vòng lặp chạy trong vòng lặp đó bạn chạy phần math() và sau đó gọi phần render() khi bạn làm việc đó có một số kỹ thuật để kiểm soát thời gian của vòng lặp.

Các vấn đề liên quan