質問: ### 前提・実現したいこと こちらのサイトを見ながらページスクロールの作成に取り組んでいるのですが、 Viewportの設定において、「Cell Size」の大きさを何に設定していいかわかりません。 仕様としては、各ページ(Contentの中のImage)を画面いっぱいの大きさにしたいと思っているので、 おそらくPaddingは0で、Cell SizeをCanvasサイズにすればよいと思うのですが、 Canvasのサイズがわかりません。 Canvasのサイズはどのようにすれば知ることができますか? また、上記サイト以外にページスクロールの作り方のおすすめのソースなどがあれば教えていただきたいです。 ### 該当のソースコード ``` Anchorsを「stretch x stretch」 Pivotはド真ん中 Content Size Fitterのアタッチ(まだ値をいじらないでください) Grid Layout Groupの「Padding」「Cell Size」をページがみやすいように設定 ```
回答: 例示のサイトの方法は幅固定の為、あまり良くないように思います。 (プログラムで幅取得→グリッド幅に設定、というフローが必要です。一応ウィンドウ幅は「Screen.width(単位:ピクセル)」で取得出来ます) 下記の方法でスクリプト不要で画面幅合わせが出来ます。例示サイトの設定から以下のように変更してください。 * CanvasオブジェクトにCanvas Scalerを付けて全画面表示にしておく。 * ScrollViewオブジェクトのRect TransformのAnchorsを「stretch stretch」に。 * ContentオブジェクトのScaleのX値を「必要なページ数」にする。(3ページなら「3」) * ContentオブジェクトのGrid Layout Groupを外し、代わりにHorizontal Layout Groupコンポーネントを付ける。 * Contentオブジェクトの子にオブジェクトを作成、RectTransformのAnchorsを「stretch stretch」に。(必要なページ数分作る) 必要ページが増減した場合でも、ContentオブジェクトのScaleとContentオブジェクトの子にオブジェクトの数を調整すればいいので比較的楽だと思います。