Próbuję utworzyć tablicę z tymi wymaganiami:
- MUSI być kwadratowe.
- MUSI pasować do dostępnej szerokości LUB wysokości.
- MUSI być wyśrodkowany na płótnie.
- MOŻE być zawinięty w tyle dodatkowych płócien pośrednich, ile potrzeba.
Bawię się kotwicami, ale nie znajduję żadnej kombinacji, aby to zrobić. Jedynym rozwiązaniem, jakie mogę wymyślić, jest napisanie jakiegoś „OnResize” kontenera i programowe ustawienie wielkości planszy.
To jest oryginalny układ. (1) jest BoardCanvas. (2) jest zarząd.
Chcę, aby jeśli ekran stał się wyższy, kwadrat rośnie, ale wciąż jest kwadratowy:
Lub zmniejsza:
Ale chociaż te poprzednie przykłady przyciągają się do górnej i dolnej krawędzi, chcę również, aby jeśli przestrzeń pionowa stała się wyższa niż dostępna szerokość, to kwadrat ogranicza swój rozmiar w zależności od lewej i prawej krawędzi:
P1: Czy można to zrobić za pomocą kotwic / czopów? Mogę tworzyć płótna pośrednie między BoardCanvas a samą tablicą, jeśli to działa.
P2: Jeśli tak, to gdzie powinienem ustawić kotwice? Czy potrzebuję pośrednich obiektów?
P3: Jeśli nie, czy skrypt jest rozwiązaniem? Czy na płótnie jest jakiś element OnResize? Nie widzę żadnego zdarzenia zmiany rozmiaru na liście, ale może nie wiem, gdzie go szukać. Wydaje mi się, że testowanie go przy każdej klatce wydaje się nieco przesadne, a zdarzenie wydaje się lepsze.
Dzięki!
źródło
Jest to możliwe, ale prawdopodobnie z niewielkim wierszem kodu lub dwoma do określenia, czy ekran jest poziomy czy pionowy i zmiany kilku wartości.
Na kanwie musisz ustawić tryb skalowania interfejsu użytkownika Canvas Scalera na „Skaluj z rozmiarem ekranu” i ustawić „Tryb dopasowania ekranu” na „Dopasuj szerokość lub wysokość”:
Zakładając, że używana jest domyślna rozdzielczość odniesienia 800 x 600 i przy założeniu, że rzutnia ekranu jest pozioma (np.
Screen.width
Jest większa niżScreen.height
), suwak Dopasuj musi być ustawiony aż do wysokości as1
.Będziesz wtedy chciał mieć obraz na płótnie, korzystając ze środkowego / środkowego ustawienia wstępnego kotwicy. Chcesz również, aby szerokość i wysokość obrazu były zgodne z wartością Y rozdzielczości odniesienia Canvas Scalera.
Następnie możesz zmienić rozmiar rzutni kamery i zobaczyć, że obraz zachowuje swój kształt, jednocześnie rozciągając jego wysokość, aby dopasować do wysokości rzutni:
Jeśli ekran jest pionowy - i tam prawdopodobnie będziesz musiał kodować, aby sprawdzić i / lub zmienić zgodnie z wymaganiami - musisz ustawić wartość Dopasowania skalera na
0
, a także zmienić wysokość i szerokość obrazu, aby dopasować rozdzielczość odniesienia Wartość X (na poniższych zdjęciach szerokość i wysokość obrazu są oba800
)Jeśli próbujesz dopasować mniejszy obraz do środka, możesz „skalować” obraz, dostosowując jego szerokość i wysokość do wartości X lub Y rozdzielczości odniesienia (w zależności od krajobrazu lub portretu). Na przykład zrobiłem niebieski kwadrat, który wykorzystuje połowę wartości X Rozdzielczości odniesienia (ponieważ rzutnia jest pionowa), i ładnie skaluje się i kurczy:
Ponadto, jeśli chcesz szachownicę lub coś w tym stylu, położenie X i Y każdego obrazu oraz wysokość i szerokość mogą być oparte na wartości procentowej rozdzielczości Canvas Scalera, aby zrobić co chcesz:
źródło