DOTweenの.DOAnchorPos()を使って、画面の外に隠れていたUI(ここではパネル。FPSを表示している)を画面内に移動して見えるようにします。動画をどうぞ。
次のコードでgoはUIのゲームオブジェクトです。画面の外、元の位置から座標で+150だけ右に0.6秒で移動するためのコードです。
-----------------------------------
RectTransform rt = go.GetComponent<RectTransform>();
Vector2 p = rt.anchoredPosition;//最初の位置(画面外)
p.x += 150f;
rt.DOAnchorPos(p, 0.6f).SetEase(Ease.OutBack);
-----------------------------------
2行目を
Vector2 p = rt.position;//最初の位置(画面外)
とやるとうまくいきません。最初こうしていて、考えた動きにならず「アレ?」と思いました。必要なのは動かしたいUIのインスペクタに表示されるPosX, PosYで、UIを右に動かしたいときはPosXを増やすのです。2行目のようにするとPosX, PosYを取得でき、PosXだけを増やして右に移動できます。
DOTween、便利です。今までは弾の軌道、キャラクタの軌道は自分で1から10まで管理していました。移動には大体空間内の軌道を表す式を使い、何点か与えてその近くを通るようにするなども次のように工夫して切り抜けました。
DOTweenを使うと、直線に沿って移動させる、与えられた点を通る曲線に沿って移動させるのはほとんど手間なしで実現できます。こんな感じ。
夏休みでいろいろできてありがたいです。ゲーム製作と平行して数学を勉強しています。学生の頃からずっと、数学の勉強ではノートを普通に使っていました。最近はタブレットでやる人もいますが個人的にはダメで、落ち着いて勉強できません。ぼくはノートを開いて左側をテキストに書いてあることを写したり問題を解いたり……に使い、右側は理屈が分からずつまずいたところなどをあれこれ考えたりするのに使います。単純に左、右、……と詰めて書くよりずっとよいのですが(議論の流れが断ち切れることがない)、半ページ分書き直したいことなどもあり、これはノートだとやりにくいです。そこで試しに……と、今まで使ったことのないルーズリーフを試しています。これならページ単位で入れ換えも簡単だし、どうかな……。よさそうなのを買いました。何日か使っていますがいい感じです。学校がプリント授業なので、休み明けからプリントの管理用にも使ってみることに。こういうやつです。↓
リングの開けたり閉じたりが簡単です。
