Oneshot Gems
अभी खेलें

गेम डेवलपर के लिए

छुपे हुए टैब को गेम स्टेट के रूप में मानें

ब्राउज़र गेम चलते समय खिलाड़ी टैब बदल सकता है, विंडो छोटा कर सकता है या डिवाइस लॉक कर सकता है। ब्राउज़र अक्सर छिपे हुए दस्तावेज़ों में एनीमेशन कॉलबैक रोकते और टाइमर की आवृत्ति घटाते हैं, इसलिए अपडेट लूप हर निर्धारित टिक मिलने पर भरोसा नहीं कर सकता। दृश्यता को स्पष्ट स्थिति-परिवर्तन के रूप में मॉडल करें। इससे खिलाड़ी के लौटने पर अनिश्चित सिमुलेशन समय का अनुमान लगाने के बजाय टाइमर, इनपुट, ध्वनि और सहेजी गई प्रगति के लिए स्पष्ट नियम तय किए जा सकते हैं।

इस पृष्ठ पर

तय करें कि दृश्यता बदलने पर क्या हो

रिफ़्लेक्स गेम में document.visibilityState के hidden होने पर खेल रोकें, उलटी गिनती रोकें, दबाकर रखी गई कुंजियों की स्थिति साफ़ करें और पेज फिर दिखने पर जारी रखने का बटन दिखाएँ। टर्न-आधारित पहेली बिना पॉज़ स्क्रीन दिखाए बोर्ड को जस का तस रख सकती है; साथ ही ध्वनि बंद कर सकती है और एनीमेशन घड़ी रीसेट कर सकती है।

कार्यान्वयन से पहले टाइमर, गतिशील खतरे और दबाई गई कुंजी के लिए अपेक्षित व्यवहार लिखें। फिर प्रत्येक मामले के दौरान दूर चले जाएँ और वापस आ जाएँ। यह छोटा मैट्रिक्स बग पकड़ता है जैसे कि कुंजी का तार्किक रूप से पकड़ में रहना या गेम दिखाई न देने पर टाइमर समाप्त हो जाना।

जारी करने से पहले समय रीसेट करें

visibilitychange इवेंट सुनें और रोकने के फ़ैसले को रेंडरिंग से अलग रखें। लौटने पर पिछले फ़्रेम का टाइमस्टैम्प मौजूदा एनीमेशन टाइमस्टैम्प पर सेट करें, या फिर से शुरू हुए पहले फ़्रेम को घड़ी रीसेट करने के लिए चिह्नित करें। अन्यथा अगले डेल्टा में छिपे रहने का पूरा समय शामिल हो सकता है और वस्तुएँ अचानक खिसक सकती हैं।

केवल धुंधलापन और फोकस पर निर्भर रहने के बजाय पेज विजिबिलिटी एपीआई का उपयोग करें: एक विंडो दृश्यमान रहते हुए फोकस खो सकती है, और दृश्यता बताती है कि दस्तावेज़ वास्तव में छिपा हुआ है या नहीं। किसी भी ऑटोसेव नीति को स्वतंत्र रखें; विराम व्यवहार और दृढ़ता के अलग-अलग उद्देश्य हैं और इनका अलग-अलग परीक्षण किया जाना चाहिए।

⁨ब्राउज़र गेम पृष्ठभूमि टैब रोकें⁩ से जुड़े सवाल

क्या requestAnimationFrame एक छिपे हुए टैब में चलता रहेगा?

अधिकांश ब्राउज़र पृष्ठभूमि टैब या छिपे हुए आईफ्रेम में एनीमेशन कॉलबैक को रोकते हैं, और टाइमर कॉलबैक को भी थ्रॉटल किया जा सकता है। उन व्यवहारों को एक सटीक घड़ी के बजाय दृश्यता को संभालने के कारणों के रूप में मानें।

क्या छुपे होने पर हर खेल रुक जाना चाहिए?

कोई भी एक नीति हर डिज़ाइन में फिट नहीं बैठती। उन खेलों को रोकें जहां अदृश्य अनुकरण चुनौती को बदल देता है; टर्न-आधारित खेल के लिए, वर्तमान बोर्ड को संरक्षित करना पर्याप्त हो सकता है। किसी भी स्थिति में, वापसी पर जानबूझकर समय और ऑडियो रीसेट करें।

आगे पढ़ें

कोई पुरानी जानकारी दिखी? सुधार की जानकारी दें

खेलते रहें।

मुफ़्त ब्राउज़र गेम, जब आपका मन हो तब खेलें। कुछ मज़ेदार खोजें और उसे अपना अगला पसंदीदा बनाएँ।

अपनी जिज्ञासा के साथ आगे बढ़ें