Open fukuchang opened 3 years ago
このスレッドの回答をしますー! https://lifeistech.slack.com/archives/C01KSKP7D53/p1614423075068200?thread_ts=1614396694.063500&cid=C01KSKP7D53
それに関しては、Updateの中で秒数を数えて、オブジェクトを生成するたびにランダムの秒数を設定して、その設定した秒数を超えたらDanmakuGenerator()を生成するのはどうでしょうかー?
もちろん、秒数の設定とsecondsを0に更新するのはAppearComment1の関数が呼ばれた後になりますー!
この質問の回答 https://lifeistech.slack.com/archives/C01KSKP7D53/p1614396694063500
確かにコルーチンが使えるとよりスマートに実装できると思いますー! ただ、コルーチンを使わなくても愚直に実装できたりしますよ〜
まずこのコードの問題点として
Start()にInvokeを書いてしまうと、一度呼び出されたらもう呼び出されない点 https://github.com/8080suisho/SNSTale/blob/fc854d38c1f53b722b03b73eb77002eb68947994/Assets/MainScripts/GameManager.cs#L25-L39 例えばここのコードはこんな処理になってしまう。
生成させる処理と物をGameObjectを動かす処理が同じスクリプトにある コメントを表示させる処理 https://github.com/8080suisho/SNSTale/blob/fc854d38c1f53b722b03b73eb77002eb68947994/Assets/MainScripts/GameManager.cs#L59-L63
コメントを動かす処理 https://github.com/8080suisho/SNSTale/blob/fc854d38c1f53b722b03b73eb77002eb68947994/Assets/MainScripts/GameManager.cs#L84-L93
これが同じスクリプトに書かれているので、
すると一番最初で問題として取り上げた一度だけ同じタイミングで生成するというのがなくなると思いますー!
終了の変化の通知は正直めんどくさいと思いますし、オブジェクトの動きと生成の動きは別々にしてあげた方が複雑にならないで済むと思いますー!