質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

1回答

1867閲覧

ページスクロールの作成においてCanvasサイズを知りたい。

退会済みユーザー

退会済みユーザー

総合スコア0

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2017/06/25 10:34

###前提・実現したいこと

こちらのサイトを見ながらページスクロールの作成に取り組んでいるのですが、
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」をページがみやすいように設定

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

例示のサイトの方法は幅固定の為、あまり良くないように思います。
(プログラムで幅取得→グリッド幅に設定、というフローが必要です。一応ウィンドウ幅は「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オブジェクトの子にオブジェクトの数を調整すればいいので比較的楽だと思います。

投稿2017/06/26 11:09

sakura_hana

総合スコア11427

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問