横にスワイプするような画面をつくりたい(uGUIを動かすときはDOTween)

タロット占いのアプリを作っているときなんですが、
タロットカードを1枚ずつ横にスワイプできるような画面が欲しくなりました。


実現するために必要なことは
1.スワイプされたことをどうやって検出するか?
2.カード画面を横になめらかに移動させる方法

1のスワイプ判定については、
少し難しそうなのでボタンで代用することにして
(正確にはスワイプ判定もどきの処理も入れたんですが、ネイティブのように動作しません・・)

今回、2のカード画面を横になめらかに移動させる方法です。

カード画面はuGUIで横一列に並べて表示することにして、

なめらかな移動で、まず最初に頭に浮かんだのが「iTween」
iTween.MoveTo(uGUIobject, iTween.Hash("x", 100, "time", 1));
みたいなプログラムを書いたんですが、ダメでした。
※ iTweenはRectTransformの移動に対応してないようです。

次に、アニメーションをためしてみたんですが、
同じくRectTransformの移動ができずダメでした。

ほとんどあきらめながら、ネットでさがしていると
ありました「DOTween」です。ありがとうございます。

以下のようなプログラムで、RectTransformをなめらかに動かすことができます。

using DG.Tweening;

RectTransform rectTransform = uGUIObject.GetComponent<RectTransform>();
rectTransform.DOAnchorPos(new Vector2(100, 0), 1);
※ uGUIオブジェクトを RectTransformが posX=100 posY=0 の位置へ 1秒かけて移動

とりあえず自分のやりたいことは実現できました。
(例) タロットカード画面の横移動
画面の横移動

関連記事
[タグ] ツール UGUI

コメント

非公開コメント

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。