セキュリティ系の勉強・その他開発メモとか雑談. Twitter, ブログカテゴリ一覧
本ブログはあくまでセキュリティに関する情報共有の一環として作成したものであり,公開されているシステム等に許可なく実行するなど、違法な行為を助長するものではありません.

Unity ScrollViewをフリックで操作する

//

タイトル通りです。

フリックを検知する

こちらのサイトさんが参考になりました。

Unityでフリック入力 - Qiita

改良した点は、フリックの方向もわかるようにしたこと。といっても、それほどいじったわけではなく、タッチの始まり点と終わり点のx座標の差をとって、方向を調べているだけです。後はそれに準じて、別のメソッドを呼んであげたりすることで、方向もしっかりと検知することができました。何よりしっかりとしたスクリプトを載せていただけていたのですごく勉強になりました。


ScrollViewをフリックで動かす

 ScrollViewを使用する必要はないです。僕はScrollVewを作成した後、改良しようとして今に至っているので 使っているだけです。ScrollViewを使用しない場合は、コンポーネントを綺麗に横(縦)に並べて、それをフリックによって左右に移動させてやればOKです。(iTweenが良いよ)

まず、ScrollView固有のスクロール機能を切ってしまいます。ここの2つのチェックw外せばOK
f:id:thinline196:20170108202259p:plain


こうすることで、コンポーネントをContentの中に詰めたとしても、それが移動することはありません。
後は、先ほど作成したフリック検知スクリプトより、移動メソッドを読んであげればOK



nowPanelは現在表示中のパネルを記憶し、端のパネルがさらにスクロールしそうになったらreturnする為に使用します。後は、パネル間の距離を算出し、その分だけ全てをiTweenで移動させてやります。これで、フリックに対応したScrollViewができます。







結論を言うと、なんらかの方法でパネルを縦か横に並べ、それをフリック検知により移動させてあげれば、操作できているような感覚になります。