0

Unity3D にすべての要素を含むスクロール ビューがあります。水平方向にのみスクロールし、常に複数の子要素が表示されます。ほとんどの場合、これは 6 ですが、まれに 5 になることもあります。セットアップは 3 つのオブジェクトの 2 行です。

例: ここに画像の説明を入力

ご覧のとおり、ほとんどの場合は 6 (および 7/8 の一部) のオブジェクトであり、まれに 5 になることもあります。 (たとえば、最後に向かって)

私が望むのは: オブジェクトをドラッグすると、常に 6 つの中央のオブジェクトにスナップします。そのため、12 個のオブジェクトがあり、ユーザーがウィンドウを少しドラッグすると、最も近い 6 にスナップする必要があります。Unity の Scroll Rect ウィンドウを使用し、その下に水平レイアウト グループを配置して、現在の結果を達成しました。以下の設定を使用します。 ここで、「GameGrid」は、水平レイアウト グループを持つ単なる空のオブジェクトです。ゲーム グリッドの下では、実行時にゲーム タイルが作成されます。

ここに画像の説明を入力

4

1 に答える 1

0

ScrollView を使用して、オブジェクトを ScrollView->Viewport->Content オブジェクトの子にします。Content RectTransform の anchoredPosition と、そのすべての子の位置を同時に制御できるようになりました。Content RectTransform sizeDelta.x を指定された幅で割り、正しい位置の値を使用することで、「スナップ」位置を簡単に計算できます。

于 2019-04-12T12:30:48.930 に答える