2010-10-22 18 views
7

में मुख्य गेम लूप कहां रखा जाए, मैं ओपनजीएल का उपयोग करके एंड्रॉइड पर एक गेम के लिए कुछ कंकाल लिखने की कोशिश कर रहा हूं। मैं जानना चाहता हूं, मुझे अपना मुख्य गेम लूप कोड कहां रखना चाहिए?एंड्रॉइड गेम

अब तक, मेरी सबसे अच्छा उम्मीदवार है Renderer.onDrawFrame (...) विधि है, जो प्रति-फ्रेम कहा जाता प्रतीत हो रहा है, तो कोड इस तरह दिखता है:

void onDrawFrame(GL10 gl) 
{ 
    preLoopActions(); 

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

    postLoopActions(); 
} 

वहाँ किसी भी बेहतर दृष्टिकोण है? मैं इसे नापसंद करता हूं क्योंकि 1) मुझे जगह में अद्यतन और प्रतिपादन मिश्रण करना है, जहां एंड्रॉइड मुझे बस प्रस्तुत करने की अपेक्षा करता है, और 2) इस विधि को एक अलग "प्रतिपादन धागे" से कहा जाता है, जो गेम जटिलता को बढ़ाता है।

उत्तर

1

क्या आपने AndEngine जैसे ढांचे के साथ काम करने पर विचार किया है। इसमें गेम एक्टिविटी के रूप में कुछ कहा जाता है जो जीवन को काफी आसान बनाता है। उदाहरण लेने के लिए काफी आसान उदाहरण हैं।

2

गणित को अलग करें और तर्क खींचें। आप जो चाहते हैं वह थ्रेड बनाना है जिसमें उस लूप में रन लूप है, आप गणित() भाग चलाते हैं और फिर रेंडर() भाग को कॉल करते हैं जब आपके पास काम करने के दौरान लूप के समय को नियंत्रित करने के लिए कुछ तकनीकें होती हैं।

संबंधित मुद्दे