неділя, 3 червня 2018 р.

Розробка додатка під всі розміри екрану


Фонове Зоображення ГРИ

Щоб створити фонову картинку під всі розміри екранів без обрізок і чорних полос  накладемо  розміри широкодисплейних пристроїв на вузькодисплейні

отримаємо зоображення розміром 852*600
у властивостях проекту ставимо 800*480 -це робочий простір гри

мертві -зони можуть обрізатися на різних екранах тому в них не повиннобути важливих елементів гри. а лише фоновий малюнок

Рорміщати фонове зоображення слід так щоб  нижній лівий кут робочої зони був  на 0 осі координат, а мертві зони виходили в  мінусову зону

Масштабування розміру гри так щоб вона вміщалась в екран


для початку треба  встановити аассет Rendercam

Встновлення:

1.скопіювати лінк:  https://github.com/rgrams/rendercam/archive/v1.0.zip
і вставте його в поле Dependemcies в game.project


2. натиснути Project/ Fetch Libraries
і Rendercam автоматично імпортується в ваш проект
3. в main.collection  додати файл об'єкту  "AddGameObjectFile"  --> camera.go
4. вибрати компонент camera.script, і встановити    FixedAspectRatio, і  AspectRatio=480/800
5. встановити компонент camera.go точно по центру  800/2=400  480/2=240



Тепер  якщо запустити проект  наша гра буде автоматично масштабуватись і вписуатись влюбий розмір дисплея и вікна.


Обробка кліків

при зміні розміру дисплею  система координат кри  теж буде змінюватись, і для правильного визначення координат кліку нам потрібно перетворити координати вводу action.screen_x, action.screen_y -  дисплею, в координати   розміру нашого проекту 800*480

--підключити бібліотеку rendercam 
local rendercam = require "rendercam.rendercam"

function on_input(self, action_id, action)
        
         
        if action_id == hash("click")  and action.pressed then 
         --перевести координати екрану в координати гри
        vec3 =rendercam.screen_to_world_2d(action.screen_x, action.screen_y)
        
          -- вивести координати кліку в консоль   
        print(vec3.x,vec3.y)
                
end


Немає коментарів:

Дописати коментар

Kоментарі неуkраїнсьkою видалятимуться