"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > आफ्टर इफेक्ट्स: जबकि लूप्स

आफ्टर इफेक्ट्स: जबकि लूप्स

2024-11-06 को प्रकाशित
ब्राउज़ करें:178

After Effects: While Loops

अंतर्वस्तु

  • परिचय
  • जबकि लूप्स बनाम इफ स्टेटमेंट्स
  • जबकि लूप्स बनाम लूप्स के लिए
  • लूप्स के दौरान कब उपयोग करें
  • निष्कर्ष

परिचय

पूर्ण प्रकटीकरण: मुझे व्हाइल लूप्स से नफरत है। मुझे उनके बारे में जानने में काफी समय लगा, लेकिन मुझे लगता है कि आखिरकार मैं उनका उद्देश्य समझ गया।

शुरुआत में, जब भी मैं अपना खुद का लूप लिखने की कोशिश करता, मैं आफ्टर इफेक्ट्स को तुरंत क्रैश कर देता। अब जबकि मुझे इस बारे में थोड़ा और ज्ञान हो गया है कि क्या गलत हुआ, मैं लिखना चाहता हूं कि while लूप क्या है, इसका उपयोग कब करना है, और आप अपने प्रोजेक्ट को क्रैश किए बिना इसे अपने आफ्टर इफेक्ट्स एक्सप्रेशन में कैसे शामिल कर सकते हैं (नियमित रूप से सहेजना याद रखें, जनसामान्य)।

जबकि लूप्स बनाम इफ स्टेटमेंट्स

जैसा कि नाम से पता चलता है, while लूप एक लूप है जो तब तक निष्पादित होता है जब तक अभिव्यक्ति सत्य है।

"जब तक अभिव्यक्ति सत्य है तब तक निष्पादित होता है" - यह कुछ-कुछ if कथन जैसा लगता है, है ना?

if (time 



यदि आप इस एक्सप्रेशन को टेक्स्ट लेयर के सोर्स टेक्स्ट प्रॉपर्टी में जोड़ते हैं, तो आप पाएंगे कि टेक्स्ट आपकी टाइमलाइन के पहले 2 सेकंड के लिए "टेक्स्ट ऑन" पढ़ता है, और उस समय के बाद कोई टेक्स्ट प्रदर्शित नहीं करता है। एक if कथन जाँचता है कि कोई अभिव्यक्ति सत्य है या नहीं, और यदि यह है, तो यह कमांड को निष्पादित करता है एक बार, और केवल एक बार।

हालाँकि, यदि आपने इसे इस एक्सप्रेशन में बदल दिया है, तो आप पाएंगे कि आफ्टर इफेक्ट्स लगभग तुरंत ही क्रैश हो जाता है:

while (time 



ऐसा इसलिए है क्योंकि while लूप एक लूप है, इसलिए यदि कथन सत्य है तो यह कमांड बार-बार निष्पादित करता है। जब तक आपका कर्सर आपकी टाइमलाइन के पहले 2 सेकंड में है, while लूप अनंत लूप करेगा। बिल्कुल आदर्श नहीं, और निश्चित रूप से वह नहीं जो हम हासिल करने की कोशिश कर रहे थे! इन अनंत लूपों से बचने के लिए यह सुनिश्चित करना महत्वपूर्ण है कि आपका while लूप अंततः झूठा हो जाएगा।

यदि कथनों पर अधिक जानकारी के लिए, मेरा पिछला लेख यहां देखें।

जबकि लूप्स बनाम लूप्स के लिए

ठीक है, इसलिए यह ध्यान रखना महत्वपूर्ण है कि if स्टेटमेंट जैसे while लूप का उपयोग न करें। लेकिन अन्य प्रकार के लूप भी हैं जिनका उपयोग हम अभिव्यक्ति बनाने के लिए कर सकते हैं। उदाहरण के लिए, while लूप, for लूप से किस प्रकार भिन्न है?

ए फॉर लूप 3 तर्कों के साथ काम करता है, और आदर्श है जब आप जानते हैं कि आपको कितनी बार अपने कमांड को लूप करने की आवश्यकता है

यादृच्छिक संख्याएँ उत्पन्न करते हुए यह उदाहरण लें:

//variables
let counter = 0;
let num = 0;
let numArray = [];

//For loop
for (let i = 0; time >= i/2; i  ) {
    seedRandom(counter, timeless = true);
    num = Math.floor(random(1, 6));
    numArray.push(num);
    counter  
}

//return
numArray[counter - 1]

मेरे वेरिएबल सेट करने के बाद, लूप लेट i = 0 से शुरू होता है, पहला तर्क सेट करता है जो एक बार निष्पादित करता है। फिर, time >= i/2 स्थापित करता है कि लूप को कितनी बार निष्पादित करना चाहिए। लूप को इस तरह से सेट करने का मतलब होगा कि लूप हर सेकंड में दो बार निष्पादित होता है, क्योंकि समय को i के आधे से अधिक या उसके बराबर होना चाहिए। अंत में, तीसरा तर्क मैं लूप निष्पादित होने के बाद everytime चलाऊंगा। इस स्थिति में, i का मान 1 बढ़ जाता है।

टेक्स्ट लेयर के सोर्स टेक्स्ट प्रॉपर्टी में इस एक्सप्रेशन को फिर से चलाने पर हर सेकंड में दो बार 1 और 5 के बीच एक यादृच्छिक संख्या प्रदर्शित होगी।

फॉर लूप्स के बारे में अधिक जानकारी के लिए, मेरा पिछला लेख यहां देखें।

जबकि लूप का सबसे अच्छा उपयोग तब किया जाता है जब आप नहीं जानते कि आपके लूप को कितनी बार निष्पादित करने की आवश्यकता होगी। इस वजह से, मैंने पाया है कि वे उन अभिव्यक्तियों के साथ अच्छी तरह से काम नहीं करते हैं जिनमें समय शामिल है जैसे कि लूप बहुत अच्छा करते हैं, क्योंकि यह आपको उन कष्टप्रद अनंत लूपों में फंसा देता है।

तो कब चाहिए हमें while लूप का उपयोग करना चाहिए?

लूप्स के दौरान कब उपयोग करें

इस सब को ध्यान में रखते हुए, इन स्थितियों में थोड़ी देर के लूप का उपयोग किया जाना चाहिए:

  • हमें अभिव्यक्ति को एक से अधिक बार निष्पादित करने की आवश्यकता है
  • हमें नहीं पता कि हमें अपने लूप को कितनी बार निष्पादित करने की आवश्यकता है
  • हम लूप को तोड़ने में सक्षम हैं, इसे अनंत तक निष्पादित होने से बचाने के लिए

अपने रैंडम नंबर जेनरेटर प्रोजेक्ट पर काम करते समय मुझे हाल ही में आफ्टर इफेक्ट्स में इसका उपयोग मिला।

आइए निम्नलिखित कोड देखें:

//variables
let counter = 0;
let num = 0;
let numArray = [];

//For loop
for (let i = 0; time >= i/2; i  ) {
    seedRandom(counter, timeless = true);
    num = Math.floor(random(1, 6));

//While loop inside of For loop
        while (num == numArray[counter - 1]) {
        num = Math.floor(random(1, 6));
        }

    numArray.push(num);
    counter  
}

//return
numArray[counter - 1]

इस उदाहरण में, while लूप यह देखने के लिए जांच कर रहा है कि क्या संख्या का वर्तमान मान numArray सरणी में संग्रहीत पिछले मान के बराबर है। यदि ऐसा होता है, तो यह 1 और 5 के बीच एक नई यादृच्छिक संख्या उत्पन्न करता है। लूप तब तक निष्पादित होगा जब तक संख्या और सरणी में संग्रहीत पिछली संख्या समान है। हालाँकि, एक बार जब संख्याएँ मेल नहीं खातीं, तो while लूप समाप्त हो जाता है, और अभिव्यक्ति कोड की अगली पंक्ति पर जारी रखने के लिए स्वतंत्र है।

क्योंकि मुझे एक से अधिक बार एक नई यादृच्छिक संख्या उत्पन्न करनी पड़ सकती है, एक if कथन यहां काम नहीं करता है।

और क्योंकि मैं नहीं जानता कि मुझे कितनी बार यादृच्छिक संख्या को ताज़ा करने की आवश्यकता होगी, लूप की संख्या भी एक रहस्य है: इसलिए यहां लूप के लिए भी अच्छा नहीं है।

इसलिए थोड़ी देर का लूप मेरा सबसे अच्छा विकल्प है। यह जितनी बार मुझे आवश्यकता होगी उतनी बार निष्पादित होगा, जब तक कि इसके अंदर का तर्क गलत नहीं है, जो निश्चित रूप से तब तक होगा जब तक कि यादृच्छिक() फ़ंक्शन एक संख्या उत्पन्न करता है जो पिछले एक से मेल नहीं खाता है।

निष्कर्ष

निष्कर्ष रूप में, जबकि लूप आपके आफ्टर इफेक्ट्स अभिव्यक्ति बेल्ट में एक असामान्य उपकरण होने की संभावना है। हालाँकि, वे सीखने के लिए उपयोगी हैं, ऐसे उदाहरणों के लिए जहां सामान्य संदिग्ध उपयुक्त नहीं हो सकते हैं।

क्या यह आपके लिए उपयोगी था? क्या आपके पास अपने प्रोजेक्ट में थोड़ी देर के लूप का उपयोग करने का कोई उदाहरण है? क्या मुझसे कुछ ग़लत हुआ? कृपया मुझे एक टिप्पणी छोड़ें और मुझे बताएं।

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/kocreative/after-effects-while-loops-447e?1 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए [email protected] से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3