はじめに
GDevelopでのスクロールメニュー。
絶対に公式で拡張機能を用意してるはずだろ!?と思ったけれど、なんか無かったです。
探した結果、色々見つけて、どれもドンピシャ感が無かったので恨みとしてメモしておきます。
結論から書けとは良く言われますが、見つけられなかった事への憂さ晴らしが目的なので結論は最後です。
SimpleScrollableListExtension
なんか日本の方が作ってくれたっぽい拡張機能。
「GDevelop リスト スクロール」とかで検索して出てきたもの。
3年前(2021年)のものが今でも英語圏でも使われてるっぽいのは、良いのか悪いのか……。
【Good】
・クリック時の処理などが簡単
・完成度が結構高い
・動画を見るだけで結構やれる
【Bad】
・サイズの調整方法が分からない(画像サイズを変えなきゃダメ?)
・背景色が消える仕様でリスト項目しか見えない
・「アイコン」「タイトル」「テキスト」の3要素で、表示項目を増やせないっぽい?
・ギチギチに詰まる感じのレイアウトとかを変えられそうにない?
・項目数が少ない時に下部がスカスカになっちゃう?
カスタマイズ方法が全然分からんという……。
縦型スライダーメニュー
【Good】
・めちゃ処理が少ない
→真似するだけなら1時間かからないかも
・特別な拡張機能を使わず、プレーンな機能を組み合わせてやってそう
【Bad】
・表示の改善方法がまるで分からん……🥺
・縦型スライダーを触って動かすのが面倒
→この形ならどうしても表示部分をスワイプでスクロールして欲しい!!!
・スライダーオブジェクトではない……。ややこしいけど。
→シェイプペインターとかいうオブジェクトを使ってるので、アセットや画像でのデザイン拡張が難しい?
Stick & Grabble
Duolingoみたいなメニュー作るにはどうしたらいいの?という記事
かなりシンプルで、
1. 背景オブジェクトに項目を貼り付ける(固定する:Stick)
2. 背景をY軸方向にだけ動かせるようにする
1はSticker(?)とかいう拡張機能で設定出来る。
2は発想の転換というか、Draggable拡張機能での設定”ではなく”、常時処理として『X座標の指定』という形で解決出来る。
(X軸が変わらない=Y軸移動しか出来ない)
- 加えて必要な設定ABC
A. 『Draggableビヘイビア』の設定で『Density』を「0」にする
→角度が変わらないように
B. 『Draggableビヘイビア』の設定で『Gravity Scale(重力)』を「0」にする
→自動で落ちていかないように
C. Y軸を画面内に収める
→縦幅(Height)を考えながら、地味に計算がむずい設定
画像で解説?
拡張機能は、
・Sticker(Stick objects to others)
・Draggable(for physics objects)
以上2つを追加。
↓
そしてスライダーの上に置くオブジェクトのビヘイビアに『Sticker』を追加
ScrollFieldに『Draggable』を追加
→設定としては先述の通り、いくつか0にする
いくつかの設定は分かんない……。
(追記:Linear Dampingを100くらいにすると手を離してすぐ止まるようになる)
↓
イベント処理
・Stickする
・Scrollの制限をかける
→横移動させない(X座標を固定)
→上下に行き過ぎないようにする(数値次第でY座標を強制変更する)
【Good】
・これだよこれェ~~~!!!!!Foooooooooooo!!!!!!!!!!!
【Bad】
・もっと検索上位に出てこい!😡
まとめ
オシャレにコーディング(イベント処理?)での項目追加は諦めました。
ずらずらとオブジェクトを大量追加して管理するつもりです。
文句も言いましたけど、やっぱSimpleScrollableListExtensionで良いんじゃね?感も結構あります。
終わり