0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

スマホのキャラ移動がなんか思った方向に動かない

Posted at

3Dゲームでよく見る ↓こういうやつの話です。image.png

結論からですがこの記事で提案するのは
「方向入力の原点を変えること」です。

操作感が悪い原因として考えられるのが、
左に行こう!

左にドラッグ

上に行こう!

上にドラッグ

左上に行っちゃった!!

ってパターンです。
これじゃない人この記事見ても無駄です。さようなら。

これに対する対策として、ある程度の距離以上ドラッグされた場合、ドラッグの原点を現在の指の位置に近づけることです。
左にドラッグしたときドラッグの原点自体が指についていけば、その後上にドラッグしたとき正しく上向きにキャラが動いてくれます。
コードはこんな感じ↓

Vector2 position; //現在の指の位置
Vector2 rawPosition; //ドラッグ開始時の指の位置

void Update()
{
    //ドラッグ方向を取得
    Vector2 dragVector = (position - rawPosition).normalized; 
    
    //画面幅の1/4以上ドラッグしていた場合ドラッグ原点を移動
    if((position - rawPosition) >= Screen.width/4)
    {
        /*
        ドラッグ原点を移動する。指の位置からドラッグ方向×画面幅の何割か
        を引くことで、例えば左にドラッグした場合指の少し右に原点が来て、
        左向きの方向入力は継続される。
        */ 
        rawPosition = position - dragVctor * Screen.width / 7
    }
}
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?