LoginSignup
4
0

More than 3 years have passed since last update.

【Unity】DOTweenでよく使うもの

Last updated at Posted at 2019-04-19

子要素ごとまとめてフェードアウト(CanvasGroup)

親オブジェクトにCanvasGroupコンポーネントを付与する
→alphaをまとめて操作できる
image.png

//DOTween使用
canvasGroup.DOFade(0, 1.0f); //1.0f秒かけながら、alpha0になっていく

初期Positionに戻す

//初期位置格納用
private float gameObjInitX;
private float gameObjInitY;

//最初に初期位置の取得
void Awake()
{
   gameObjInitX = gameObj.GetComponent<RectTransform>().anchoredPosition.x;
   gameObjInitY = gameObj.GetComponent<RectTransform>().anchoredPosition.y;
}

//初期位置に戻したいときに呼ぶ
private void Initialize()
{
   gameObj.GetComponent<RectTransform>().anchoredPosition = new Vector2(gameObjInitX, gameObjInitY);
}

現在のwitdhに幅を加える(sizeDelta)

//幅と高さを取得
float width = rectTransform.sizeDelta.x;
float height = rectTransform.sizeDelta.y;
//今の幅+足したい幅
rectTransform.sizeDelta = new Vector2 (width + 加えたい幅, height);

位置を変える(localPosition)

rectTransform.localPosition = new Vector3(1f, 0f, 0f);

イージング付きで移動(DOLocalMoveX)

//指定位置まで移動したいとき
rectTransform.DOLocalMoveX(-361, 0.40f); //0.4f秒かけて-361の位置に移動する

//現在の位置から相対的に移動したいとき
rectTransform.DOLocalMoveX(-100, 0.40f).SetRelative(); //0.4秒かけて現在地からみて-100に移動する

//ちなみに3Dオブジェクトなら DOMoveを使用する
transform.DOMove(new Vector3(, , ), 1).SetRelative();

スクリプトからスクロール位置変更

//ダメなやり方
gameObj.GetComponent<ScrollBar>.value = 1.0f;

//正しいやり方
gameObj.GetComponent<ScrollRect>.verticalNormalizedPosition = 1.0f;
gameObj.GetComponent<ScrollRect>.horizontalNormalizedPosition = 1.0f;

Imageの変更(sprite)

//インスペクタからアタッチ
public Image _image;
public Sprite _sprite;
//_iamgeの画像を_spriteに変更
_image.sprite = _sprite;
4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0