Скалиране на картинки
Здравейте!
Може да сме го говорили на лекции, но мисля че ще е добре да го има и черно на бяло.
Първият ми въпрос е, как да рендер-ваме картинки в реалния им размер, тоест без дефолтното скалиране към прозореца.
И втория въпрос е малко по-сложен.
Да кажем съм си избрал карта за играта която е 4096х4096.
Прозореца, който засега ползвам е 640х480.
Бих искал да видя само сегмент от картинката си когато я рендя с размерите на екрана, НО когато отворя на голям екран или ползвам друго устройство, искам да виждам същото парче карта, тоест това че съм на голям екран не трябва да значи, че виждам повече от картата, а по-скоро, че всичко е по-голямо.
Благодаря и на двама ви за отговорите!
Живко, мисля че ми отговаряш на по-напреднало ниво отколкото съм и Илиян е малко по-близо до отговора на въпроса ми.
Което ти описа е, как да скейлваме картинка/картата ни до размера на прозореца, нали така?
А моя въпрос е по-скоро следния - ще се опитам да го перефразирам.
Представи си че цъкаш Дота или Старкрафт на 640х480 монитор на фулскрийн, където имаш една голяма карта, но екрана ти вижда във всеки един момент само един малък правоъгълник от нея.
Размерите на ресурса "карта" са 1960х1080 пиксела.
Ъпгрейдваш си монитора и вече имаш 1960х1080 екран. Отваряш отново на фулскрийн и вече виждаш цялата карта на екрана - това не е желания ефект.
По-скоро играта ни пак трябва да показва същия отрязък, който видяхме на малкия монитор, но скалиран/зуумнат, и единиците и сградите ни ще изглеждат по-големи.
Тоест, трябва да има някаква логика, която следи размера на екрана и скалира картата с същите пропорции.
П.С. Съжалявам, Живко, ако си ми отговорил вече, но малко бавно зацепвам :))
Привет, Валери,
Отговорът на въпроса ти става с 1 ред - да направиш или прозореца или viewPort-а на желаните размери.
Това обаче ще е грозно, защото като го пуснеш на full screen ще имаш този прозорец 640x480 и останалото ще е черен цвят около него.
За да избягаш от този ефект трябва прозорецът винаги да ти е с големината на физическия екран.
След това вече "константната" картинка 640x480 ще я скалираш за да стане с големината на прозореца.
Така твоите widgets биха била по-големи на по-голям екран.
Поздрави
Ахаа! Веднага го разбрах, след това обяснение. Благодаря!