万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    カスタムコルーチンの日本語公式記事を万年素人が理解するメモ

    http://blogs.unity3d.com/jp/2015/12/01/custom-coroutines/

    1. 疑問

    もしWaitForSecondsをtimescaleを0に指定しながら使用したら、(timescaleが0以外に再び戻るまで) 永遠に待ち続けることになるのです。

    理由

    これはつまりWaitForSeconds に1秒待つように指定した時、timescaleが0.5になっていれば、実世界では2秒(1 / 0.5 = 2)待つことになるということです

    1 / 0.5 = 2 つまり秒数 / timescale = 答えという式。 この話は1秒の時の話。 1 / 0 = ∞だから。

    2. 疑問

    最初の1回だけ動作し

    理由

    今回問題になってるのは、m_Dropdownがnullにならなかったことによること。

    if (!IsActive () || !IsInteractable () || m_Dropdown != null)

    この3条件のいずれかを満たしてしまうことが問題。 つまり、ドロップダウンコンポーネントを1度動作すると、!IsActive ()!IsInteractable ()自体は満たさなくなる。 しかし、m_Dropdownが変化しないので満たしてしまいreturnされる。

    3. 疑問

    で、何が便利になった?

    解説

    keepWaitingfalseにしたらコルーチンを終えるようなのができるようになった。 WaitForSecondの代わりに使えるものを自分で定義できるようになった。