Всім привіт! Продовжуємо вивчати Midlet Pascal. У минулій статті я розповів про самих основах цієї мови. У цій статті Погоріла про речі більш цікавих - трохи порисуємо, розглянемо висновок зображень і обробку натискань користувача на кнопки.
Стандартні фігури зображати в Midlet Pascal дуже навіть просто. Ось, наприклад, намалюємо синій прямокутник 100х100 і в ньому білим текстом напишемо що-небудь. Робиться це так. За колір відповідає процедура SetColor, де в дужках вказуються три кольори, з яких вийде той, який нам потрібен. Кольори вказуються в такому порядку: червоний, зелений, синій. Значення кожного з них може бути від 0 до 255. Наприклад, якщо написати так:
то ми отримаємо яскраво-зелений колір, а якщо так:
Поїхали далі. Прямокутник ми візьмемо зафарбований - для це є процедура FillRect, де в дужках пишуться координати лівого верхнього кута це прямокутника, ширина і висота. У підсумку отримуємо щось на зразок цього:
Прямокутники з лініями - це, звичайно, добре, але явно недостатньо, щоб зробити хорошу іграшку. Непогано було б показати якусь гарну картинку, ніж ми зараз і займемося. З картинками в Midlet Pascal справа йде неважливо, підтримується тільки формат PNG. Тому все зображення, які Ви хочете вивести на екран потрібно переводити саме в цей формат. Для конвертації зображень є багато програм і я не буду на цьому зупинятися. Скажу лише, що особисто мені ближче Photoshop. Там можна і картинку відредагувати і зберегти її як потрібно. Ну так ось. Знайшли Ви хорошу картинку, тепер саме час додати її до нашої програми. Для цього в меню вибираємо "Project -> Import resource file", знаходимо нашу картинку і додаємо її. Вона повинна з'явитися в списку файлів зліва (вкладка "Files"). Якщо у Вас немає такої вкладки, її можна включити через "View -> Files". Припустимо Ваша картинка називається "picture.png". Тепер в програмі пишемо:
Чи означає це приблизно наступне. LoadImage завантажує картинку з ресурсного файлу (символ "/" перед назвою писати обов'язково, інакше нічого не вийде). DrawImage виводить завантажену картинку на екран в точку з координатами (10, 10). Можна (а іноді навіть і потрібно) зробити трохи по-іншому. Спочатку завантажити зображення в якусь змінну (яка в цьому випадку буде мати тип image), а потім вже діяти через цю змінну. Тобто приблизно так:
Для чого це потрібно? Справа в тому, що останній варіант працює набагато швидше. Це, в принципі, не має значення, якщо Вам потрібно вивести одне-два невеликих зображення, а ось якщо цих зображень кілька десятків і пишете Ви дуже динамічну гру - тоді краще робити через змінні. Та й зі змінними зручніше працювати, особливо якщо оформити цю справу в масив.
Ну що ж - з картинками більш-менш розібралися (хоча настійно раджу поексперементувати самостійно - я розповів тільки основи, а ще є багато чого цікавого по цій темі). Припустимо Ви намалювали чудову картинку (наприклад, головного героя гри), зобразили її на екрані і все начебто добре. Але чогось не вистачає. А не вистачає рухів. Користувач буде наполегливо тиснути на всі кнопки підряд, але нічого не трапиться.
Ця програма повністю робоча, але зроблена досить спрощено. Ви можете спробувати зробити її краще. Картинки я докладати не став, бо художник з мене поганий.
Ну ось і все на сьогодні. Наступного разу ми додамо до нашої гри музичне супроводження.