【ハルシオンブログ】Unity DotweenのDoMove系を絶対ではなく相対で動かしたい時
こんにちは。雨の時期になりましたね。
外行くの億劫になる毎日・・・・まぁ家から出ないんですけど。坂内です。
UnityのDotweenのMove系を使った際に、「今の座標から●●動かす」という処理を行いたいが、想定した動きにならないってことありませんか?
例えば、こんな感じでボタンとイメージを置き、ボタンを押すごとにイメージを少しずつ上に移動したいって時。

こんなコードを書いてみたり。
[Blog20220404.cs]
ボタンを押すと、Yを1上に動かす、といった処理。

いや、そうじゃない。そうなんだけど・・・・
DOLocalMoveは「引数1の場所に、引数2の時間を使って移動」なので、こうなっちゃいますよね。
やりたいのは、「ボタンを押すと引数1の分移動」なわけで、目的座標として使いたいわけではないのですが・・・・・
そんな時は、SetRelativeをつけましょう。
[Blog20220404.cs]

一応動いてますが・・・・移動量すくないっすね。
SetRelativeはいわゆる相対的になる感じですね。
SetRelativeを付けないときは「引数1へ移動」だったのが、SetRelativeをつけると「引数1分移動」になりました。
ただし、相対量が1fだったため、ちょっと動いているのが分かりずらいですが・・・・
imgObject.transform.DOLocalMoveY(20f, 0.6f).SetRelative();
20くらいにするとこんな感じに動きます。

ということで、DoTweenの絶対値挙動をを相対値の挙動に変えるには、SetRelativeを使うという話でした。
では、あでゅ~ノシ
外行くの億劫になる毎日・・・・まぁ家から出ないんですけど。坂内です。
UnityのDotweenのMove系を使った際に、「今の座標から●●動かす」という処理を行いたいが、想定した動きにならないってことありませんか?
例えば、こんな感じでボタンとイメージを置き、ボタンを押すごとにイメージを少しずつ上に移動したいって時。

こんなコードを書いてみたり。
[Blog20220404.cs]
using UnityEngine;
using UnityEngine.UI;
using DG.Tweening;
public class Blog20220404 : MonoBehaviour
{
[SerializeField] Button btnMove;
[SerializeField] Image imgObject;
void Start()
{
btnMove.onClick.AddListener(MoveObject);
}
void MoveObject() {
imgObject.transform.DOLocalMoveY(1f, 0.6f);
}
}
ボタンを押すと、Yを1上に動かす、といった処理。

いや、そうじゃない。そうなんだけど・・・・
DOLocalMoveは「引数1の場所に、引数2の時間を使って移動」なので、こうなっちゃいますよね。
やりたいのは、「ボタンを押すと引数1の分移動」なわけで、目的座標として使いたいわけではないのですが・・・・・
そんな時は、SetRelativeをつけましょう。
[Blog20220404.cs]
using UnityEngine;
using UnityEngine.UI;
using DG.Tweening;
public class Blog20220404 : MonoBehaviour
{
[SerializeField] Button btnMove;
[SerializeField] Image imgObject;
void Start()
{
btnMove.onClick.AddListener(MoveObject);
}
void MoveObject() {
imgObject.transform.DOLocalMoveY(1f, 0.6f).SetRelative();
}
}

一応動いてますが・・・・移動量すくないっすね。
SetRelativeはいわゆる相対的になる感じですね。
SetRelativeを付けないときは「引数1へ移動」だったのが、SetRelativeをつけると「引数1分移動」になりました。
ただし、相対量が1fだったため、ちょっと動いているのが分かりずらいですが・・・・
imgObject.transform.DOLocalMoveY(20f, 0.6f).SetRelative();
20くらいにするとこんな感じに動きます。

ということで、DoTweenの絶対値挙動をを相対値の挙動に変えるには、SetRelativeを使うという話でした。
では、あでゅ~ノシ
Category: 開発日記(Unity)
« 【ハルシオンブログ】prefabのrootに飛ぶショートカット | 【ハルシオンブログ】プロジェクトを開いたときにUnityHubが閉じなくなった。 »
コメント
| h o m e |