Фонове Зоображення ГРИ
Щоб створити фонову картинку під всі розміри екранів без обрізок і чорних полос накладемо розміри широкодисплейних пристроїв на вузькодисплейні
отримаємо зоображення розміром 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
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ою видалятимуться