সিরিজে Coroutines


9

আমি কীভাবে একের পর এক মৃত্যুদন্ড কার্যকর করা উচিত এমন একটি সিরিজ কর্টিন কলকে সজ্জিত করব?

আমি একটি কর্টিনে রঙিন লেপের একটি সিরিজ লুপ করে একটি ফ্ল্যাশিং কালার এফেক্ট পাওয়ার চেষ্টা করেছি তবে এটি কাজ করছে না।

উত্তর:


7
public static IEnumerator Sequence(params IEnumerator[] sequence)
{
  for(int i = 0 ; i < sequence.Length; ++i)
  {
    while(sequence[i].MoveNext())
      yield return sequence[i].Current;
  }
}

ব্যবহারের উদাহরণ:

IEnumerator PrintCoroutine(string arg)
{
  yield return new WaitForSeconds(0.3f);
}

StartCoroutine(Sequence(PrintCoroutine("foo"), PrintCoroutine("bar")));

চমৎকার সাধারণ উদ্দেশ্য সমাধান।
উন্মাদ সজারু

7

হাইজেনবাগ যা বর্ণনা করেছেন তা ছাড়াও, ityক্য ম্যানুয়ালটি যেটি সুস্পষ্ট করে না তা হ'ল আপনি yield returnকোনও Coroutineবস্তু করতে পারবেন , যা আপনি StartCoroutineকল থেকে পেয়েছেন ।

public IEnumerator RunColorCoroutineLoop()
{
    while (true) {
        yield return StartCoroutine(FirstColorCoroutine());
        yield return StartCoroutine(SecondColorCoroutine());
        yield return StartCoroutine(ThirdColorCoroutine());
        yield return StartCoroutine(FourthColorCoroutine());
    }
}

public IEnumerator FirstColorCoroutine()
{
    SetColor("color1");
    yield return new WaitForSeconds(1f);
}

public IEnumerator SecondColorCoroutine()
{
    SetColor("color2");
    yield return new WaitForSeconds(1f);
}

public IEnumerator ThirdColorCoroutine()
{
    SetColor("color3");
    yield return new WaitForSeconds(1f);
}

public IEnumerator FourthColorCoroutine()
{
    SetColor("color4");
    yield return new WaitForSeconds(1f);
}

এটি কখনও কখনও মুভনেেক্সট লুপের চেয়ে আরও ভাল পড়াতে সক্ষম করে তোলে তবে এতে অসুবিধাটিও রয়েছে যে আপনি শিশু করাউটিনকে উপরের কর্টিন লুপের মধ্যে যুক্তির মাধ্যমে চালানো থেকে আটকাতে পারবেন না, যা আইইনুমরেটারের শীর্ষে আরও পরিশীলিত প্রবাহ নিয়ন্ত্রণ কৌশল তৈরি করতে কার্যকর হতে পারে।

এ সম্পর্কে আরও তথ্যের জন্য আপনার এই ইউনিট ভিডিওটি দেখে নেওয়া উচিত যা আপনার নিজস্ব কর্টিন শিডিয়ুলার তৈরি না করে আপনার কর্টিনগুলি থেকে আরও বেশি বেশি লাভ করে।


উভয়ই (এটি এবং নীচে) asnwers দুর্দান্ত। আপনি যদি traditionalতিহ্যবাহী ওওপি-তে কোড স্বচ্ছতার বিষয়ে আরও যত্নশীল হন তবে আমি এই পদ্ধতির সাথে যেতে চাই। আপনি যদি ডেটা-চালিত বিকাশ করেন তবে @ হাইজেনব্যাগ সলিউশন আপনাকে আরও ভালভাবে পরিবেশন করবে।
ইন্ডিফোর্জার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.