いぬおさんのおもしろ数学実験室

おいしい紅茶でも飲みながら数学、物理、工学、プログラミング、そして読書を楽しみましょう

DOTweenでタイマを

 DOTweenで簡単にタイマを実現できます。ちょっとした動作を定期的にやらせたい、といったことはあるものです。あるオブジェクトを1秒ごとに表示したり非表示にしたり、……とか。コルーチンでも簡単に実装できます。しかし当たり前ですがそういうコルーチンをひとつ用意し、それをコールしなればなりません。DOTweenではもっと気楽です。
 ①は0.3秒ごとに「来たよ」をコンソールに表示するコードです。②によって、5秒経ったら①の実行を止めます。どちらもDOTweenのDOVirtual.delayerCall()を使っています。
------------------------------------
Tween tw = DOVirtual.DelayedCall(0.3f, () =>
                            Debug.Log("来たよ"))
                        .SetLoops(-1, LoopType.Incremental);//①
DOVirtual.DelayedCall(5f, () => tw.Kill());//②
------------------------------------
②のKill()は、サイトを調べるとDOKill()となっていることが多く、これを使うとぼくの環境では「'Tween'に'DOKill'の定義が含まれておらず、……」というエラーが出ます。
go.transform.DOMove()(オブジェクトを移動させる)ではgo.transform.DOKill()で目的通りの動き(途中で実行を止める)をしてくれるのですが、DOVirtual.DelayedCall()には使えないのです。違いは分かりませんが、Kill()でもよさそうなので試したらうまくいきました。

 並行して代数を勉強しています。「5次以上の代数方程式は係数に四則とべき根を有限回繰り返して解くことはできない」は(流れによるでしょうが)証明の最後のツメで置換群の知識が必要になります。そもそもガロアは解の置換を使って証明したのですから当然かも知れません。途中で「置換群や組成列もやり直さねば……」と気づき、今はその辺。テキストはこれです。

●『親切な代数学演習』

あらためて「分かりやすい」と思うんですが、予想外にあっちでもこっちでもつまづいています。ノートをきちんと作って、3年先にまた同じところで引っかからないようにします。