Частина 5: Додавання монет та балів | hyperPad Documentation

Loading...

Logo
DocumentationПовний посібник - Створення платформераЧастина 5: Додавання монет та балів
Повний посібник - Створення платформера

Частина 5: Додавання монет та балів

Last updated September 19, 2015

Вступ

Завершивши Частину 4, ви тепер повинні мати рівень і ігрового персонажа, який може бігати та стрибати.

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

Монети, приховані в блоках, є однією з найвідоміших особливостей Mario. Розпочнемо цей навчальний посібник, створивши цю функцію.

Приховані монети в цегляних блоках

Удар по цеглі

Ми створимо нашу першу цеглу таким чином, щоб швидко модифікувати її, щоб вона могла вмістити стільки монет, скільки нам потрібно. Коли цегла буде готова, ви зможете її дублювати і розташовувати де завгодно.

Цей навчальний посібник базується на Частині 4 і передбачає, що ви вже створили проект Частини 4 з хабу.

Почніть з вибору одного з блоків, який буде містити монети. У властивостях об'єкта натисніть кнопку "Повадки", щоб відкрити редактор поведінки.

У категорії Об'єкт додайте поведінку Стикнувся. Поведінка Стикнувся спровокує подію щоразу, коли 2 певні об'єкти торкаються один одного.

Натисніть на поведінку Стикнувся, щоб переглянути її властивості. Ви можете побачити, що вона має 2 поля для вибору об'єктів (називаються Об'єкт A та Об'єкт B). Перший з них (Об'єкт A) вибрано для вас, і це той, до якого ви застосовуєте поведінки. Ви можете натиснути, щоб змінити це, якщо хочете, але залишимо це без змін.

Порожнє поле призначене для другого об'єкта (Об'єкт B), з яким поведінка зіткнення буде перевіряти. Натисніть порожнє поле і виберіть свого персонажа, якого ви добавили в Частині 4 посібника.

Вибравши свої об'єкти, ви тепер можете змінити, яка частина Об'єкта B викликатиме подію зіткнення. Вимкніть всі перемикачі, крім опції "Зверху". Тепер поведінка Стикнувся буде діяти лише тоді, коли верхній частині персонажа торкається до цегли.

Тепер, коли цегла перевіряє, чи торкається голова гравця до неї, давайте зробимо так, щоб вона стрибала вгору і вниз. Для цього ми використаємо поведінки Руху для підйому і потім нижче.

У категорії Трансформація додайте поведінку Рух на і підключіть її до поведінки Стикнувся, яку ви додали раніше.

Натисніть на поведінку Рух на і перегляньте її властивості. Оскільки ми хочемо підняти цеглу, коли гравець вбиває її, ми змінимо Y Значення. Встановіть її на мале число, оскільки ми хочемо забезпечити лише невеликий ефект стрибка. Я використовував 0.20 Метрів.

Вам також потрібно змінити Тривалість. Тривалість - це час, необхідний для завершення руху. За замовчуванням тривалість становить 1, але це означає, що цегла переміститься на 0,2 метри за 1 секунду. Це занадто повільно для наших потреб. Змініть тривалість на 0.10 Секунд.

Примітка: Встановлення тривалості на нуль призведе до миттєвого переміщення вашого об'єкта на нову позицію. Він не буде анімуватися плавно. Також зверніть увагу на поле з текстом "Лінійна". Це ефект анімації, який застосовується до вашого руху. Якщо у вашої поведінки є тривалість, рухатиметься на основі цього ефекту.

Тепер, щоб заставити цеглу відскакувати назад, додайте ще одну поведінку Рух на і підключіть її до попередньої.

Ще раз змініть властивості. Цього разу ми хочемо, щоб цегла рухалася назад вниз. Щоб перемістити її вниз, змініть Y Значення на негативне число. Оскільки ми хочемо, щоб цегла повернулась на своє вихідне місце, ми перемістимо її на -0.20 Метрів. Вам також потрібно змінити тривалість на 0.10 Секунд.

На даний момент, якщо ви натиснете відтворення, ваш гравець може вдарити по цеглі знизу і цегла буде відскакувати вгору і вниз. Проте є кілька проблем, які нам потрібно вирішити.

  1. Є невелика помилка в нашій логіці. Якщо гравець продовжує стрибати дуже швидко, не даючи блоку повернутися на початкове положення, він буде продовжувати підніматися.

  2. Цегла відскакує вічно. Що, якщо ви хочете лише кілька монет, а потім вона зупиняється, коли порожня?

  3. Вона ще не дає жодних монет.

Розпочнемо з вирішення проблеми 1. Це насправді проста помилка для виправлення. Все, що нам потрібно зробити, це вимкнути поведінку зіткнення, як тільки гравець її вдарить, а потім знову увімкнути, коли вона закінчить рух.

Для цього перемикайте на категорію Користувальницька і додайте "Поведінка Вимкнена", а потім підключіть це до поведінки Стикнувся.

Далі, у властивостях Поведінки Вимкнена натисніть на порожнє поле з написом "Вибір поведінки". У списку знайдіть правильну поведінку Стикнувся. Зверніть увагу, що список показує всі поведінки для всіх об'єктів. Список відсортований за назвою об'єкта.

Тепер вам потрібно знову увімкнути поведінку зіткнення, коли вона закінчить стрибок. Для цього просто додайте Поведінка Увімкнена з категорії Користувальницька і підключіть це до другої Рух на поведінки. У властивостях поведінки переконайтеся, що ви вибрали поведінку Стикнувся, щоб увімкнути її знову.

Для проблеми 2 ми використаємо контейнер для встановлення кількості монет, які містить кожна цегла. Це дозволяє нам легко змінювати конкретні цегли, щоб мати більше або менше монет.

Перше, що вам потрібно зробити, це додати контейнер для блоку з категорії Користувальницька, ви можете розмістити це в будь-якому місці на екрані, оскільки воно не пов'язане з нічим іншим. Ви також можете перейменувати цей контейнер блоку на "Монети", щоб було легше знайти пізніше (щоб запам'ятати, як перейменувати поведінки, перегляньте Частину 4)

У властивостях поведінки контейнера Монети змініть властивість "Значення за замовчуванням" на 3. Це буде кількість монет, які містить цегла.

Тепер з категорії Логіка додайте поведінку Додати Значення й підключіть її до другої поведінки Рух на, яку ми додали раніше. Цю поведінку Додати Значення будемо використовувати, щоб відстежувати кожен раз, коли гравець вдаряє по цеглі.

Після підключення поведінки "Додати Значення", натисніть на неї, щоб переглянути властивості поведінки. Властивості показують 2 поля введення, і поведінка "Додати Значення" виведе суму введених значень.

У нашому випадку, оскільки ми використовуємо додавання для відстеження кожного удару, введемо 1 у верхнє поле, а в нижньому полі виведемо суму з поведінки "Додати Значення" назад у друге поле.

Це щоразу збільшуватиме суму, коли поведінка виконується. Перший раз, коли поведінка запускається, це буде 1+0, оскільки немає суми. Другий раз це буде 1+1, оскільки сума з попереднього разу зберігається.

Наступним кроком буде перевірити, чи сума з доданих значень дорівнює контейнеру Монети, який ви додали раніше.

Для цього додайте поведінку Якщо з категорії Логіка і підключіть її до Додати Значення з попереднього кроку.

З підключеною поведінкою Якщо, натисніть на неї, щоб переглянути властивості поведінки. Поведінка Якщо перевіряє, чи виконується певна умова (на основі 2 полів введення та вибраної умови).

У нашому випадку ми виведемо (поділимо) суму поведінки Додати значення і помістимо в перше поле Якщо.

А потім виведемо вміст контейнера до другого.

З введеними цими значеннями наступна поведінка буде виконана лише, якщо сума додати значення дорівнює значенню, збереженому в контейнері монет.

Тепер вам потрібно буде вимкнути поведінку зіткнення і змінити графіку, щоб не можна було отримати більше монет. Для цього додайте нову поведінку Поведінка Вимкнена з категорії Користувальницька і підключіть до Якщо. Як і раніше, виберіть поведінку Стикнувся, щоб вимкнути.

Щоб показати гравцеві, що монет більше немає, ви можете додати поведінку Змінити Графіку з категорії Трансформація і підключити до Якщо.

Після підключення виберіть нову графіку з властивостей поведінки Змінити графіку. Натисніть на друге поле в властивостях поведінки та виберіть нову графіку.

Тепер, якщо ви натиснете відтворення, ви зможете стрибнути і вдарити по цеглі 3 рази, перш ніж це зупиниться.

Отримання балів

Налаштування UI

Наступним кроком є фактичне отримання балів і збирання монет при ударах по цеглі!

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

Тож поверніться до основного редактора, натиснувши кнопку "назад" з редактора поведінки. Потім вам потрібно відкрити панель Шари, натиснувши на 3 точки з правої сторони екрана (також можна провести з краю екрану).

Виберіть шар Глобальний UI. Шари UI існують поверх інших шарів на сцені і зазвичай використовуються для кнопок, джойстиків і підписів. Вони також зафіксовані на одному місці на екрані і виглядають так, наче рухаються разом із вмістом вашої сцени.

Примітка: об'єкти, розташовані на шарі Глобальний UI, існуватимуть у кожній сцені вашого проекту. Якщо ви хочете, щоб щось існувало лише в одній сцені, використовуйте шар Сцена UI.

Обравши шар Глобальний UI, натисніть на іконку Спеціальні об'єкти у панелі, або перетягніть її в сцену.

У спливаючому вікні виберіть Мітка, і мітка буде розміщена у вашій сцені.

Натисніть на новододану мітку, щоб відкрити властивості об'єкта. У властивостях мітки ви можете змінювати колір тексту, шрифт, текст для відображення тощо.

Натисніть на велике текстове поле і змініть текст на "Бали:".

Далі натисніть "Вирівнювання", щоб розширити властивості вирівнювання. Встановіть Ширину на 110 і Висоту на 64.

Примітка: встановлення цих значень на 0 видалить текстову область і дозволить вашому тексту безкінечно рости горизонтально.

Установивши всі властивості мітки, ви можете використати інструмент Перемістити/Трансформувати, щоб розмістити нову мітку в кутку екрана і переконатися, що вона не закриває огляд гравця.

Після розміщення вашої мітки додайте ще одну мітку до сцени, ми будемо використовувати цю мітку для відображення ваших балів. Цього разу встановіть текст як 0, оскільки ваш гравець починає з нульовими очками. На відміну від раніше, ми встановимо зазначену ширину та висоту. Встановіть Ширину на 500pt і висоту на 64pt. Це дає зазначену область, у якій текст може з'являтися. Якщо у вас занадто багато тексту, щоб вміститися в цій області, він буде вирізаний.

Також встановіть горизонтальне вирівнювання на ліве вирівнювання (Вирівнювання зліва).

Коли ви закінчите з властивостями мітки, розмістіть її поруч із назвою "Бали".

Отримання балів

Тепер нам потрібно збільшити ваші бали щоразу, коли ви отримуєте монету. Поверніться до основного шару і знову поверніться до поведінок для цегли з монетами, щоб ми могли додати необхідні поведінки.

З категорії UI перетягніть поведінку "Додати До Счета", і підключіть її до другої Рух на поведінки, яка була додана раніше в цьому посібнику.

Далі натисніть на поведінку Додати До Счета і увімкніть перемикач Нескінченний Счет. Якщо цей перемикач вимкнено, наступна поведінка спрацює, коли буде досягнуто вказаного рахунку. Також переконайтеся, що вибрано правильний об'єкт "0".

Якщо ви зараз натиснете відтворення, ви будете отримувати 1 бал кожного разу, коли гравець вбиває по цеглі.

Тепер ви можете дублювати цю цеглу (як ви навчились у частині 3) і розміщувати її по всьому рівню.

Окремі монети

Ваша перша монета

Іноді вам може знадобитися просто розмістити монети по всьому рівню без приховування їх усередині цегли. Це відносно просто, і ми розглянемо це зараз.

Розпочніть з додавання вашої графіки монети в сцену, потім натисніть на неї, щоб переглянути властивості об'єкта.

Знизу властивостей об'єкта переконайтеся, що вибрано вкладку фізика.

Поки що у вкладці фізика зробіть монету прохідною. Це дозволяє нашому гравцеві продовжувати проходити через неї без зупинок або сповільнень.

Тепер ми налаштуємо межі зіткнень монети. Межі зіткнень визначають фізичну форму об'єкта. Межі зіткнень можуть бути різного розміру або форми, ніж візуальний вигляд об'єкта. Щоб налаштувати межі зіткнення, натисніть на іконку зіткнень.

В редакторі зіткнень ви можете використовувати панель інструментів зліва, щоб змінювати та створювати унікальні форми зіткнень.

Для цього посібника ми виберемо опцію "Коло", щоб створити коло межі зіткнень.

Далі перетягніть зелений круг на колі, щоб змінити розмір межі зіткнень. Зробіть межу зіткнень такої ж величини, як монета. Зверніть увагу, що якщо межа зіткнення більша за ваш об'єкт, ваш гравець може взаємодіяти з ним ще до того, як фізично торкнеться графіки монети в середині.

Коли ви закінчите створення межі зіткнення, натисніть на іконку галочки в панелі інструментів, щоб прийняти та зберегти нову форму.

Тепер знову натисніть на монету, щоб переглянути Властивості об'єкта. Цього разу відкрийте редактор поведінки для монети.

З категорії Об'єкт додайте поведінку "Стикнувся" на екран. Як і раніше, відкрийте властивості поведінки і виберіть персонажа Зеленого астронавта для Об'єкта B.

Далі з категорії UI перетягніть поведінку Додати до рахунку і підключіть до зіткнення. Знову ж таки, у властивостях поведінки увімкніть перемикач Нескінченний рахунок і переконайтеся, що обрано правильний ярлик рахунку.

Нарешті, з категорії Об'єкт додайте поведінку Знищити об'єкт і підключіть її до поведінки зіткнення. Це повністю видалить монету, як тільки гравець у неї натисне.

Якщо ви натиснете відтворення, ви тепер зможете натиснути на монету, і вона зникне.

Ось і все! Тепер ваша платформена гра має збиральні монети. У цей момент все, що вам потрібно зробити, це дублювати ваші монети та розмістити їх по всьому рівню. Намагайтеся бути креативними, розставляючи монети!

Ви можете завантажити готову версію Частини 5 з Хабу і подивитися все в дії.

У Частині 6 ми почнемо додавати трохи складності до гри, запроваджуючи ворогів.