Остатки кафельной плитки как использовать


Как использовать остатки кафельной плитки для дома: 25 блестящих решений - Сделай сам

У каждого человека есть свой подход к украшению дома: кто-то использует для этого витражи, кто-то фотообои, а кто-то тяготеет к разного рода трафаретам и скульптурам… Но большего внимания из всего этого заслуживает мозаика.

Еще в студенческие годы, обучаясь на факультете дизайна и архитектуры, я с восторгом изучала творчество великого Антонио Гауди. Поехать в Барселону и живьем увидеть его непревзойденные творения — моя мечта. Но вот создать хотя бы небольшой предмет интерьера в его стиле доступно абсолютно любому человеку.

Облицовка мозаикой — один из любимейших приемов Гауди. Для своих коллажей он использовал осколки посуды, керамики, бутылок. Из мусора получались шедевры!

Именно эти фотографии разожгли во мне желание создать «кусочек Барселоны» у себя дома.

Битая керамическая плитка является прекрасным материалом для творчества. Она отлично подходит для создания декоративных элементов как на даче или в доме, так и в квартире.

Мозаика из битой плитки

Такая работа не требует особых навыков, а вот усидчивость пригодится. И если ты, как и я, хочешь первый раз попробовать себя на этом поприще, то для начала лучше выбрать что-нибудь не особо грандиозное. По мере накопления опыта, можно будет переходить и к более сложным фантазийным элементам декора.

Уют в доме создается при помощи причудливых деталей, подобранных со вкусом. А лучше — сделанных своими руками с душой и безмерной любовью к творчеству. Надеюсь, эти идеи вдохновили тебя на создание своих декоративных решений для дома.

Ведь для создания таких шедевров материалы найти совсем не сложно. Во многих строительных магазинах всегда есть остатки плитки или керамический бой, который продается как сырье по небольшой цене. Также можно использовать плитку, которая осталась у тебя от ремонта.

Так что остается только загореться определенной идеей, выкроить для этого время и начать делать. Фантазируй и твори!

Понравилась статья? Подпишитесь на канал, чтобы быть в курсе самых интересных материалов

Подписаться

Как использовать сумку с оставшимися плитками, чтобы набрать больше очков в словах с друзьями «Смартфоны :: Гаджет-хаки

Независимо от того, какую версию слов с друзьями вы используете на Android или iOS, у вас есть доступ к встроенным функциям, таким как Word Radars и бонусы Swap +. Большинство заядлых любителей словесных игр считают эти инструменты обманом, тем более что не все могут ими пользоваться. Но есть одна функция, доступ к которой есть у каждого, которую вы можете использовать против кого угодно.

Рассматриваемая функция называется «Мешок для плитки», и с тех пор, как я себя помню, она была частью «Слова с друзьями».Этот встроенный инструмент позволяет вам точно увидеть, какие плитки остались, не раскрывая, какие буквы есть у вашего оппонента. Если вы когда-либо играли в Scrabble, вы бы узнали эту функцию как список «Распространение писем», который отображается на самом игровом поле.

Играя в Scrabble, вы можете ссылаться на список, напечатанный на доске, чтобы определить, какие буквы могут быть у вашего оппонента, а какие вы можете получить. Та же концепция применяется в словах с друзьями, только вместо того, чтобы самостоятельно ссылаться на доску и вашу стойку, чтобы мысленно вычислить, что осталось в сумке, говорит вам Tile Bag.Это требует от вас всей работы, но не делает того, что вы уже не могли бы сделать, просто зная, какие плитки с буквами включены в игру.

Тайлы, доступные в словах с друзьями

Распределение букв в словах с друзьями немного отличается по сравнению с Scrabble. Для справки, ниже вы увидите, сколько каждой буквы выделено жирным шрифтом, а значение каждой плитки указано в скобках. В то время как Scrabble состоит из 100 плиток, у Words with Friends их всего 104 в каждой игре.

  • A = 9 (стоимость каждого по 1 баллу)
  • B = 2 (стоимость каждого по 4 балла)
  • C = 2 (стоимость каждого по 4 балла)
  • D = 5 (стоимость 2 каждый балл)
  • E = 13 (стоимость каждого 1 балл)
  • F = 2 (стоимость каждого 4 балла)
  • G = 3 (стоимость каждого 3 балла)
  • H = 4 ( каждый стоит 3 очка)
  • I = 8 (стоит 1 очко каждый)
  • J = 1 (стоит 10 очков)
  • K = 1 (стоит 5 очков)
  • L = 4 ( каждый стоит 2 очка)
  • M = 2 (стоит 4 очка каждый)
  • N = 5 (стоит 2 очка каждый)
  • O = 8 (стоит 1 очко каждый)
  • P = 2 (стоимость каждого 4 очка)
  • Q = 1 (стоимость 10 очков)
  • R = 6 (стоимость каждого 1 очко) 900 16
  • S = 5 (стоимость каждого по 1 баллу)
  • T = 7 (стоимость каждого по 1 баллу)
  • U = 4 (стоимость каждого по 2 балла)
  • V = 2 (стоимость 5 баллов) каждый)
  • W = 2 (каждый стоит 4 очка)
  • X = 1 (стоит 8 очков)
  • Y = 2 (стоит 3 очка каждый)
  • Z = 1 (стоит 10 баллов)
  • ПУСТО = 2 (каждая стоит 0 баллов)

Доступ к сумке для плитки в ваших играх

Как упоминалось ранее, сумка для плитки - это одна из функций Zynga's Words with Friends, к которой вы можете получить доступ независимо от того, в какую версию игры вы играете.На вашем iPhone или устройстве Android он будет работать в Words with Friends 2 (Android | iOS), Words with Friends Classic (Android | iOS) и Words with Friends (Android | iOS).

Когда у вас открыта игра, будь то против друга или случайного оппонента, тренировочного AI, WordMaster или команды Lightning Round, нажмите на вкладку «Еще» в нижнем левом углу, затем выберите «Мешок для плитки» "из списка опций.

Когда откроется Мешок с плитками, он покажет вам все, что еще не было сыграно на доске.Он также пропускает то, что уже есть в вашей текущей стойке писем. Все плитки, которые находятся на существующей стойке вашего оппонента, показаны здесь как не разыгранные. Это означает, что невозможно точно определить, какие буквы у них есть, а какие нет.

Еще одна вещь, на которую следует обратить внимание, это то, что "# буквы слева" прямо над вашей стойкой не соответствуют доступным плиткам в мешочке для плитки. Число, показанное над вашей стойкой, - это общее количество плиток, которые остались в сумке для , которые вы должны взять , и не включает плитки, которые есть у вашего оппонента.Таким образом, цифра над вашей стойкой всегда будет на семь меньше, чем показывает сумка для плитки.

Более эффективное использование мешка для плитки

Наблюдать за тем, какие плитки остались в игре, когда вы впервые запускаете игру, довольно бессмысленно, поскольку он просто покажет вам все, чего у вас нет на стойке. На мой взгляд, использование Tile Bag не очень помогает в первой половине любой игры. Однако, как только вы пройдете эту половину пути, это отличный инструмент. Вы можете увидеть, сможете ли вы сыграть определенное слово позже, а также какие важные буквы еще не попали на доску.

Как и в Scrabble, в Words with Friends защита так же важна, как и нападение. Мешок с плитками может помочь вам понять, стоит ли оставлять на доске открытый хороший ход, которым ваш оппонент мог бы воспользоваться. Это также может помочь вам решить, следует ли вам сыграть слово, которое блокирует любой потенциально результативный ход, который может сделать противник.

Пример 1: Подсчитайте, может ли противник иметь редкую букву

Допустим, на доске есть счетный квадрат с тройным словом (TW) на поле I . Q недавно использовался на доске для написания QI , поэтому следующая лучшая вещь, на которую вы можете надеяться, это XU для всего 51 очка или XI для 50 очков, но X уже было играл? Беглый взгляд на доску говорит «нет», и сумка для плитки подтверждает это.

На приведенных выше примерах скриншотов мы видим, что в сумке осталось 19 букв, а всего 26 букв, считая те, что на стойке нашего оппонента. Каковы шансы, что у нашего оппонента уже есть X , готовый к игре?

Чтобы понять это, давайте разместим X как одну из букв на их стойке.Остается 25! (25 факториалов) мест для размещения других букв. При семи местах для X на стойке соперника имеем 7 * 25! возможные комбинации. Их 26! (26 факториал) общее расположение букв в 26 точках, поэтому вероятность будет 7 * 25! / 26! или с вероятностью 26,9%, что у них есть плитка X как одна из семи возможных на их стойке.

Чтобы воспроизвести эту формулу самостоятельно, когда рядом с плиткой в ​​мешочке для плиток стоит цифра "1", просто возьмите количество возможных букв на стойке (R) и умножьте это на общее факториальное количество плиток, видимых на плитке. Сумка минус 1 (S!), Затем разделите свой ответ на общее факториальное количество плиток, увиденных в сумке для плиток (T!).

Если вы не знаете, как вычислить это с помощью факториалов, скопируйте и вставьте формулу в поиск Google, и она отобразит вам ответ. В нашем случае мы просто воткнули 7 * 25! / 26! в Google, который дал нам ответ 26,9%. Если бы в сумке и на стойке соперника оставалось 13 плиток, мы бы набрали 7 * 12! / 13! в Google, чтобы получить 53,8% шанс, что у них есть плитка X .

Конечно, все это предполагает, что они вытащили все семь плиток сразу после своего последнего хода, чего, скорее всего, не произошло.По правде говоря, они могли вытащить X на первом же повороте и все это время экономили. Если вы лучше меня разбираетесь в математике, вы, вероятно, сможете провести более точные вычисления, чтобы показать более точную вероятность того, что у них есть или нет X . (Если да, поделитесь!)

Пример 2: Рассчитайте, может ли противник иметь нередкую букву

Используя ту же доску, что и выше, что, если бы мы хотели узнать вероятность того, что у нашего оппонента есть H на своем стойка? Всего 26 плиток, которые мы не можем видеть, три из них представляют для нас интерес, поскольку в мешочке для плиток есть три плитки H .Для этого мы воспользуемся немного другой формулой, которую также можно применить для поиска ответов в Примере 1 выше, поэтому 7 * 25! / 26! будет выглядеть так:

  • 1- (25 выберите 7) / (26 выберите 7)

Чтобы пояснить это немного лучше, вы бы взяли общее количество плиток, увиденных в мешочке для плиток, минус количество рядом с букву, которая вас интересует (S), затем выберите ее по количеству плиток на их стойке (R). Разделите ответ на общее количество плиток, видимых в мешочке для плиток (T), выберите количество плиток на их стойке (R).Затем возьмите этот ответ и вычтите его из 1.

  • 1- (S выберите R) / (T выберите R)

Если я не объясняю это достаточно хорошо, извините, потому что мои навыки биномиальной теоремы и биномиальных коэффициентов в лучшем случае ржавый. Все, что вам нужно сделать, это использовать приведенную выше формулу в качестве справочной информации, а затем ввести ее в Google, чтобы получить ответ.

Вернемся к нашему сценарию H , в сумке с плитками есть три тайла H и 26 тайлов. Мы использовали бы формулу 1- (23 выбирают 7) / (26 выбирают 7), чтобы получить 0.627 или 62,7% шанс, что у них уже есть H на стойке. Это высокий шанс, поэтому предположим, что у них есть один H , что оставляет два из них, которые мы могли бы нарисовать.

Пример 3: Рассчитайте, можете ли вы получить определенную букву

Используя знания, полученные выше, мы можем рассчитать вероятность того, что мы вытянем H на нашем следующем ходу, если мы думаем, что у них есть одна на их стойке. Допустим, мы знаем, что хотим сыграть в ZEINS , набрав 48 очков, используя четыре буквы с нашей стойки.В настоящее время в сумке осталось 19 букв, которые мы можем нарисовать, поэтому наше уравнение будет 1- (17 выберите 4) / (19 выберите 4) для 0,386 или 38,6% вероятности, что одна из нарисованных нами букв будет . Плитка H .

Как вы можете видеть на скриншотах выше, мы рискнули получить H , так как коэффициент 38,6% был лучше, чем один из трех, и нам повезло! Вы также можете использовать эту формулу вероятности, чтобы определить, сколько букв вы должны сыграть, чтобы иметь больше шансов получить нужную букву при рисовании.Игра пятью буквами увеличила бы наши шансы до 46,8%, а шесть букв дали бы нам 54,4% при получении H .

Определение стиля стратегии вашего оппонента

Если математика не является вашей сильной стороной, другой путь - чтение оппонента. Если вы сыграли против них несколько игр, вы, вероятно, почувствовали, к какому типу они относятся. Если это ваша первая игра против них, вы получите лишь небольшую выборку, чтобы судить, но этого может быть достаточно, чтобы определить, как они любят играть.

Например, если ваш оппонент уже играл короткие двухбуквенные слова параллельно на доске, с высокой ценностью плитки на премиальном квадрате, например, ZA , JO и / или QI , тогда вполне возможно, что они попытаются сыграть XI , XU , AX , OX и т.д., если у них есть X и отверстие на доске.

Итак, зная, что на их стойке может быть X , вы должны сделать все, что в ваших силах, чтобы убедиться, что они наберут как можно меньше очков, когда они начнут играть в нее - даже если это означает разрушение. ваши шансы на слово с высокой оценкой, если вы действительно потянете X позже.Если у вас есть хорошая подушка для их оценки, возможно, это не имеет значения, и вы рискнете. Использование мешка для плитки может помочь вам понять, что может случиться.

Если ваш оппонент любит использовать сверхдлинные слова, возможно, он не позаботится о том, чтобы поставить двухбуквенное слово с размером X на премиум-поле - даже если это означает больше очков. Опять же, стоит рискнуть оставить эту часть платы открытой, чтобы посмотреть, сможете ли вы зацепить X , если он еще доступен.

Как вы можете видеть выше, взяв мой ход ZEINS , мы видим, что у оппонента действительно уже был X .С вероятностью 53,8%, что у них он уже есть, это неудивительно, и я не хотел блокировать ход, потому что мой ZEINS был 48 баллов и почти аннулировал их 51 балл. У меня огромный буфер в общем счете, так что меня это совсем не волновало.

Практикуйтесь и совершенствуйте свои навыки работы с плиточным мешком

Это лишь некоторые из способов, которыми вы можете использовать плиточный мешок в своих интересах. Даже если Words with Friends удалит эту функцию, вы все равно сможете делать все вручную, глядя на то, что уже было сыграно на доске, что у вас на стойке и чего не хватает из общего количества 104 плиток.Именно так вы бы сделали это в старой доброй настольной игре Scrabble, хотя ваши мысленные расчеты должны быть приблизительными, если время является фактором.

Эта статья была подготовлена ​​во время специального обзора мобильных игр Gadget Hacks. Ознакомьтесь со всей серией игр.

Не пропустите: 7 лучших платных игр в слова для iPhone и Android

Обеспечьте безопасность вашего соединения без ежемесячного счета . Получите пожизненную подписку на VPN Unlimited для всех своих устройств при единовременной покупке в новом магазине Gadget Hacks Shop и смотрите Hulu или Netflix без региональных ограничений.

Купить сейчас (80% скидка)>

Обложка и скриншоты Джастина Мейерса / Gadget Hacks .

Как удалить старую плитку

  1. Дом и сад
  2. Ремонт дома
  3. Ремонт кухни и ванной
  4. Как удалить старую плитку

Джин Гамильтон, Кэти Гамильтон

Удаление плитки - не легкий проект. Это очень трудоемко, но и платить за это кому-то дорого. Таким образом, стоит изучить , как удалить плитку и самостоятельно разорвать старую напольную плитку. Обязательно защитите себя во время битвы, надев защитное снаряжение, рекомендованное ниже.

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

Примерно за 20 долларов вы можете купить скребок для пола , - инструмент размером с метлу с наклонной стальной головкой, используемый для удаления слоев напольного покрытия. Часто инструмент используется для отделения напольного покрытия от клея.

Мы рекомендуем использовать следующие инструменты и защитное оборудование для работ по удалению плитки:

  • Скребок для пола
  • Долото ручное
  • Скребок для краски
  • Защитные очки
  • Высококачественные монтажники / кожаные перчатки
  • Пылезащитная маска
  • Публикация

Как снять плитку

Если плитка, которую вы удаляете, укладывалась мастикой, а не раствором, вам повезло - скребок для пола подойдет.Однако, если они были установлены в строительный раствор, выполните следующие действия для надлежащего снятия плиточного пола:

  1. Разбейте первую плитку молотком.

    Ударьте молотком по плитке в центре. Края сломанной плитки могут быть очень острыми, поэтому работайте осторожно и для защиты накройте поверхности защитной пленкой.

  2. Используйте долото, чтобы выколоть остальную часть плитки. Поместите стамеску в линию раствора на краю плитки и начните откалывать ее. Повторяйте шаги 1 и 2, пока не удалите несколько плиток.
  3. Разбейте несколько плиток за раз и удалите скребком для пола.

    Вам может повезти, удалив плитку с пола, и вы обнаружите, что клей под полом податлив, и вы можете легко оторвать его от пола, что делает работу легкой. Или вы можете обнаружить, что клей похож на цемент (или представляет собой цемент), и ничто, кроме динамита, не сместит пол.

  4. Удалите раствор с подстилающего слоя молотком.

    Забейте молотком квадратную часть пола площадью 2–3 фута, чтобы разбить оставшийся раствор, а затем скребком соскребите осколки раствора с подложки.

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

    Удаление клея с подкладки может быть проблемой. Попробуйте размягчить клей с помощью теплового пистолета, а затем соскоблить его широким шпателем.

Достаточно просто? Воспользуйтесь своими новообретенными навыками DIY и узнайте, как укладывать новый плиточный пол!

.

Что нового в SpriteKit для iOS 10: взгляд на мозаичные карты

Обновление 26.09.16: Это руководство было обновлено для Xcode 8 и Swift 3.

WWDC 2016 представила совершенно новую партию вкусностей. Одним из лучших является редактор плиток SpriteKit. Это потрясающе в использовании, и вы можете быстро настроить фоны и отлично выглядеть.

Из этого руководства вы узнаете все о плитках - как их импортировать и раскрашивать в новом редакторе плиток.В новой игре Rubber Duckie Rescue , которая наверняка станет хитом, вы по пути спасете несколько резиновых уток.

Начало работы

Сначала загрузите стартовый проект для Rubber Duckie Rescue и убедитесь, что у вас установлен Xcode 8.

В настоящее время игра находится в зачаточном состоянии; К концу этого урока вы будете управлять автомобилем, который будет проезжать по захватывающему, выложенному плиткой ландшафту, чтобы спасти этих надоедливых уток.

Создайте и запустите приложение.Вы увидите, что у вас есть машина, которая реагирует на прикосновения. Нажмите, чтобы отправить машину в определенное место, или поверните, чтобы машина следовала за касанием. На данный момент фон сплошного серого цвета. Но не волнуйтесь! Вы измените это на мгновение.

Что такое мозаичная карта?

При создании фона у вас есть возможность использовать одно большое изображение или изображения меньшего размера, называемые плитками. Затем эти плитки аккуратно размещаются одна за другой, создавая законченное изображение.

Если вы, например, создаете игру в гольф, у вас могут быть плитки травы и плитки песчаных бункеров. У вас также могут быть плитки, определяющие границы между травой и бункером.

Преимущества мозаичной карты

  • Контроль: Раньше каждый тайл был бы новым SKSpriteNode , и размещение всех этих узлов могло быть чем-то вроде кошмара.

    Теперь вы размещаете один SKTileMapNode , а затем раскрашиваете его плиткой.Можно легко разместить отдельные плитки и удивительно легко нарисовать весь фон за секунды. Вы даже можете рисовать анимированные плитки!

    Вы можете разместить деревню на одном слое плитки и траву на нижнем слое. Чтобы сменить лето на зиму, просто замените слой сочной зелени травы на пустынный коричневый слой. Слой деревни остается прежним.

  • Производительность: Помимо удобства покраски плитки, производительность будет улучшена. Большие изображения занимают память.Меньшие плитки могут повторяться и потреблять меньше ресурсов.
  • Гибкость: Каждой плитке можно адресовать код. Это означает, что вы точно знаете, на какой плитке сейчас стоит ваш персонаж.

    В этом уроке вы создадите фоновую среду, используя плитки травы и воды, которые по-разному влияют на движение машины. Вы также создадите выложенную плиткой территорию с утками, размещенными случайным образом, чтобы машина могла их спасти.

Типы тайловых карт

Существует четыре типа наборов плиток, которые вы можете создавать: сетка, изометрическая, шестиугольная заостренная или шестиугольная плоская.Вы выбираете набор плиток в зависимости от стиля вашей игры.

Rubber Ducky Rescue использует квадратную сетку. Это игра сверху вниз, но вы также можете использовать плитки сетки для боковой прокрутки.

Изометрические плитки имеют форму ромба, как на Ravenwood Fair.

Есть два способа размещения шестиугольников: острием вверх или плоской стороной вверх. Это пример сетки с заостренным шестиугольником:

Цивилизация Сида Мейера с отличным визуальным эффектом переместилась с изометрической сетки в Civ 4 на гексагональную сетку в Civ 5.

Как создать мозаичную карту

В игре Rubber Duckie Rescue вы сначала нарисуете две простые фоновые мозаичные карты с травой и водой, заменив текущий серый фон. Позже вы создадите новую мозаичную карту в коде с объектами, которые должна собирать машина.

Чтобы создать мозаичную карту, вам сначала понадобятся несколько мозаичных изображений. Искусство мозаичной карты - это самостоятельная форма искусства. К счастью, есть несколько сайтов с бесплатными активами, которые могут использовать разработчики.

Ваша игра будет использовать ресурсы от Kenney.nl. Это отличный сайт с множеством доступных тайлов и других спрайтов. Спасибо, Кенни! =]

Управление изображениями в каталоге активов

У начального проекта есть каталог активов с именем Assets.xcassets . Он включает в себя все изображения плитки и спрайтов, которые вам понадобятся для этого урока.

Изображения плиток находятся в атласах текстур, а не в папках. Атласы текстур выглядят и ведут себя как папки.

Преимущество использования текстурных атласов - производительность.Когда ваша игра визуализируется, SpriteKit будет делать «вызов отрисовки» на GPU для каждой текстуры, которую вы ему отправляете. Если вы объедините несколько изображений в одну текстуру, называемую атласом текстуры, вместо нескольких вызовов отрисовки, будет только одно, что более эффективно.

Каталог ресурсов может автоматически объединять ваши изображения спрайтов в атласы текстур. Вам не нужно беспокоиться о том, как определить положение изображения спрайта в атласе текстур - SpriteKit сделает все это за вас.

Вы создадите свои наборы плиток, используя изображения в этом каталоге ресурсов.

Создание набора плиток

Прежде чем вдаваться в подробности, сделаем краткий обзор процесса создания и окраски плитки. Позже вы создадите и раскрасите более сложный набор плиток.

Выберите File> New> File , прокрутите вниз и выберите шаблон iOS> SpriteKit Tile Set и нажмите Next .

Назовите набор Tiles и нажмите Create .

Выберите Tiles.sks в навигаторе проекта.

Для вас автоматически созданы новый набор плиток сетки и группа плиток. У вас будет группа для каждого набора плиток. В этом руководстве вы создадите группы для травы и воды.

Сначала выберите Tile Set и в Инспекторе атрибутов переименуйте Tile Set в Ground Tiles .

Теперь выберите новую группу плитки на панели списка наборов.Снова в инспекторе атрибутов переименуйте его в Water Tile .

Под инспектором атрибутов выберите Media Library . Если вы раньше не использовали это, вы быстро поймете, насколько это удобно для создания наборов плиток.

Найдите изображение WaterCenter и перетащите его в пустую область плитки.

Это первая определенная группа плиток, теперь вы создадите вторую группу плиток.

Выберите Ground Tiles на панели списка наборов и нажмите + внизу.Выберите New Single Tile Group .

Выберите новую группу плиток и в Инспекторе атрибутов измените имя новой группы плиток на Grass Tile .

Найдите изображение GrassCenter1 в библиотеке мультимедиа и перетащите его в пустую область плитки.

Работа с вариантами плитки

Нажмите на плитку травы в центре экрана.

Внизу экрана вы можете добавить новые варианты плитки.Когда вы раскрашиваете плитки, редактор автоматически выбирает один из этих вариантов случайным образом, так что вы получаете некоторые вариации на вашей карте. Каждому варианту можно присвоить вес размещения в инспекторе атрибутов. Если вы, например, присвоили одному варианту вес размещения 1, а второму варианту - вес размещения 2, то второй вариант будет устанавливаться в два раза чаще, когда вы рисуете.

Перетащите изображение GrassCenter2 в пустой слот варианта, а затем изображение GrassCenter3 в следующий пустой слот варианта.

Примечание: На момент последнего обновления этой статьи была обнаружена небольшая ошибка. Если вы покрасите плитки сейчас, плитка с травой не закрасится должным образом. Чтобы бороться с этим, просто выйдите из Xcode и перезапустите. (Вы также можете добавить дополнительную новую пустую группу плиток в свой набор плиток и сразу удалить ее.)

Вы создали свой первый набор плиток и теперь пора рисовать!

Редактор мозаичных карт

Выберите GameScene.sks .Эта сцена в настоящее время содержит только спрайт автомобиля.

Из библиотеки объектов в правом нижнем углу перетащите узел Tile Map Node на сцену.

В Инспекторе атрибутов ваш набор Ground Tiles был автоматически выбран, поскольку это единственный набор плиток в проекте. Размер плитки был автоматически установлен на размер плиток в этом наборе плиток. Измените размер карты на 32 столбца и 24 строки.Убедитесь, что Position X и Y установлены на 0, а Scale X и Y установлены на 1.

Дважды щелкните узел карты листов в редакторе сцены, чтобы запустить редактор листов. Или вместо этого вы можете выбрать Editor> Edit Tile Map с выбранным узлом тайловой карты. Если у вас есть слои узлов тайловой карты, этот пункт меню очень удобен.

Если вы не видите сетку, увеличивайте масштаб сцены, пока не увидите.

В верхней части вида сцены есть новая панель инструментов с уже выбранным инструментом кисти и загруженным плиткой с водой.Щелкните и перетащите по мозаичной карте и раскрасьте!

Чтобы изменить плитку, щелкните значок слева от значка кисти на панели инструментов и выберите плитку с травой в раскрывающемся списке.

Покрасьте снова. Обратите внимание, что три варианта Grass раскрашиваются случайным образом. Как бы весело это ни было, скоро станет еще лучше:].

Значки на панели инструментов похожи на значки других программ рисования. Слева направо:

  • Инструмент Hand позволяет перемещать сцену.
  • Инструмент Eyedropper выбирает плитку из уже окрашенных.
  • Вы уже видели, что делают инструменты Select Tile и Brush .
  • Инструмент Flood Fill заполняет подобные смежные плитки выбранной плиткой.
  • Инструмент Erase удаляет плитки.
  • Если вы рисуете большие области, Выбор размера кисти позволяет изменить размер кисти.
  • Два инструмента штампа - это весело.Выберите Create Stamp (штамп с маленьким кружком). Щелкните квадрат, а затем щелкните другой квадрат справа и немного вниз, чтобы создать прямоугольный набор плиток. Вы создали штамп.
  • Выберите Выберите штамп (инструмент штампа со стрелкой), и отобразится раскрывающийся список всех штампов, которые вы создали. Щелкните штамп, чтобы выбрать его, а затем раскрасьте им. Заштрихованная область показывает, куда пойдет штамп. Это позволяет очень легко красить большие площади.
  • Randomize очищает плитки и рандомизирует выбранную плитку. Это хороший способ закрасить большую площадь.

Когда вы закончите экспериментировать, заполните всю карту плитками с водой. Вы можете заливать пустые области. Это будет фон, и вы сможете наложить больше деталей на второй узел тайловой карты.

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

Работа с группами смежности

Группы смежности позволяют вам определять, какие изображения краев следует закрашивать при раскрашивании плиток. Например, если вы создаете остров, у вас будет центральная плитка из травы, а крайние плитки - это пляж, уходящий в океан. Во время рисования центральные плитки травы будут укладываться так, чтобы края автоматически окружали их.

Есть два подхода к краям плитки. У вас могут быть плитки с твердыми краями, которые переходят с одной поверхности на другую, как этот набор плиток из Кенни.nl:

Другой подход - иметь прозрачные края, такие как этот набор, который вы будете использовать здесь:

Если вы используете прозрачные края, вы должны наслоить узлы тайловой карты так, чтобы фон просматривался сквозь прозрачность. Вы уже нарисовали водный фон. Теперь вы добавите еще один слой с землей.

Вернитесь к Tiles.sks , чтобы отредактировать набор плиток. Control + щелкните Ground Tiles и выберите в меню New> 8-Way Adjacency Group .

Переименуйте новую группу плиток в Grass . Выбрав группу плиток "Трава", вы увидите сетку плиток, которую нужно заполнить.

Сначала это может показаться запутанным, но все станет ясно.

Отфильтруйте медиа-библиотеку с помощью травы , чтобы показать все изображения плитки травы.

Перетащите плитки на соответствующие позиции в сетке. Я назвал каждое изображение в соответствии с его положением в сетке.Добавьте три варианта центра, как вы это делали раньше. На этот раз выберите вариант GrassCenter1 и измените вес размещения на 10. Таким образом вы получите больше простых плиток при рисовании.

Перетаскивая изображения на место, можно ошибиться. Я сам часто путаю углы и края:]. Не беспокойся. Просто перетащите правильное изображение на неправильное и выберите Заменить вариант текстуры плитки во всплывающем меню. Обратите внимание, что если вы выберете другой вариант, вы можете добавить варианты таким образом.

Когда вы закончите, ваша сетка должна выглядеть как на изображении выше. Закройте и перезапустите Xcode, чтобы ваши изменения были перенесены в редактор сцены.

Откройте GameScene.sks в навигаторе проекта.

Перетащите новый узел Tile Map Node на сцену. Измените имя узла на landBackground . Вам это понадобится, потому что позже вы будете ссылаться на узел в коде. Измените размер карты на 32 столбца и 24 строки. Убедитесь, что Position X и Y установлены на 0, а Scale X и Y установлены на 1.

Дважды щелкните редактор сцены, чтобы изменить карту листов.

На панели инструментов щелкните Select Tile . Новая группа плиток «Трава» отобразится в раскрывающемся списке вместе с двумя другими группами плиток.

Выберите крайнюю правую группу плиток Grass , щелкните кистью на панели инструментов и начните рисование.

Посмотрите, как края волшебным образом окружают то, что вы рисуете!

Вспоминая ту запутанную сетку в Tiles.sks , вот как красили плитку:

В Инспекторе атрибутов снимите отметку Включить автоматическое отображение .

Теперь, когда вы нажмете на Select Tile , в раскрывающемся списке отобразятся все доступные плитки. Теперь вы можете раскрасить отдельные квадраты в сетке выбранной плиткой.

Когда вы закончите рисовать, нажмите Готово . Теперь создайте и запустите приложение, чтобы полюбоваться своим новым фоном:].

Новые классы плитки SpriteKit

Помимо создания тайловых карт с помощью редактора сцены, вы также можете создавать их в коде. Я знаю, о чем вы думаете: «Зачем это нужно, если вы можете использовать редактор сцен?»

Предположим, вам нужно распознавать определенные плитки в вашем коде, например плитки с водой? В этом уроке водяные плитки замедляют скорость автомобиля. Вы можете сделать это в коде!

Другая причина - случайность. В этом уроке игрок собирает уток и газовые баллончики.Если вы раскрасите их в редакторе, они останутся на одном и том же месте для каждой игры. Если вы добавите их в код, вы можете рандомизировать их размещение.

При просмотре того, что вы сделали до сих пор, каждый созданный вами элемент имеет соответствующий новый класс SpriteKit.

В GameScene.sks их:

  • SKTileMapNode : узел, который вы разместили в редакторе сцены.
  • SKTileSet : набор листов, который вы назначили в Инспекторе атрибутов для узла карты листов.

Открыть Tiles.sks . Здесь у вас:

  • SKTileSet : элемент наверху дерева, здесь назван Ground Tiles .
  • SKTileGroup : группы тайлов внутри набора. В этом наборе это Water Tile , Grass Tile и Grass .
  • SKTileGroupRule : определяет правило смежности для каждой плитки. Например, верхняя левая плитка, центральная плитка или плитка правого края.

Щелкните группу Grass и выберите правило Center .

  • SKTileDefinition : каждое Правило имеет несколько определений плитки. Это варианты плитки. Например, центральная плитка имеет три варианта SKTileDefinition , которые используются случайным образом при рисовании.

Выберите один из вариантов центра в нижней части экрана. В Инспекторе атрибутов вы видите все свойства, доступные вам для каждого варианта SKTileDefinition .

Если бы у вас были анимированные плитки, вы бы видели покадровую информацию и могли бы контролировать частоту кадров. Представьте, что ваши плитки с водой плещутся о плитки травы:].

Инспектор атрибутов для каждого варианта также является местом, где вы можете предоставить пользовательские данные для каждого варианта плитки. Это будет полезно позже, когда вы захотите определить, является ли предмет уткой или баллончиком с газом.

Работа с плиткой в ​​коде

Наконец, вы можете написать код:]. Разве не удивительно, как далеко вы зашли, не написав ни одного письма?

Когда машина «проезжает» по водным плиткам, ее скорость должна резко замедляться.Есть два подхода к этому.

Вы можете добавить пользовательские данные isWater Boolean ко всем плиткам с водой и проверить пользовательские данные в коде. Или, поскольку вы создали воду на отдельном слое, вы можете использовать прозрачность в узле тайловой карты landBackground и проверить, пуст ли тайл под позицией автомобиля. Вот что мы здесь будем делать.

В GameScene.swift добавьте свойство для landBackground в GameScene :

 var landBackground: SKTileMapNode! 

Затем добавьте этот код в loadSceneNodes () :

 охранник пусть landBackground = childNode (withName: "landBackground") так как? SKTileMapNode else { fatalError ("Фоновый узел не загружен") } я.landBackground = landBackground 

Здесь вы загрузили узел тайловой карты в свойство landBackground .

Теперь добавьте следующее в обновление (_ :) :

 пусть позиция = car.position let column = landBackground.tileColumnIndex (fromPosition: position) let row = landBackground.tileRowIndex (fromPosition: position) 

обновление (_ :) выполняется каждый кадр; это хорошее место, чтобы проверить местонахождение машины.Здесь вы преобразовали положение автомобиля в столбец и ряд. Это необходимо для того, чтобы вы могли извлечь фактический тайл из тайловой карты.

Затем добавьте этот код в конец обновления (_ :) :

 let tile = landBackground.tileDefinition (atColumn: столбец, строка: строка) 

Плитка теперь содержит SKTileDefinition для плитки в столбце и строке.

Наконец, добавьте этот код в конец обновления (_ :) :

 if tile == nil { maxSpeed ​​= waterMaxSpeed print ("вода") } else { maxSpeed ​​= landMaxSpeed print ("трава") } 

Если плитка не окрашена, максимальная скорость автомобиля снижается до соответствующего значения.Вы используете прозрачность landBackground , чтобы определить это. Предполагается, что прозрачная плитка - это вода.

Создайте и запустите приложение.

Максимальная скорость автомобиля теперь должна быть намного меньше, когда он движется по воде. Вы можете убедиться в этом, также просмотрев консоль.

Коллекционирование предметов

Теперь пришло время использовать полученные знания для создания тайловой карты, заполненной объектами, которые может собирать машина.

Вы будете заполнять тайловую карту случайным образом резиновыми утками и баллончиками с газом с одной оговоркой - утки остаются на клетках с водой, а газ на плитках травы.

Создайте новый набор плиток для объектов. Выберите File> New> File и выберите шаблон iOS> SpriteKit Tile Set , затем нажмите Next . Назовите набор ObjectTiles и нажмите Create .

В ObjectTiles.sks измените имя набора листов на Object Tiles .

Измените новую группу плиток на Duck и перетащите изображение rubberduck из библиотеки мультимедиа на плитку.

Выберите плитку с уткой, а затем вариант плитки внизу. В Инспекторе атрибутов щелкните + под User Data . Возможно, вам придется прокрутить инспектор вниз на меньшем экране. Дважды щелкните userData1 и измените его на duck . Неважно, какой это тип, вы просто проверите наличие этого значения, поэтому просто оставьте его как целое число.

Control + щелкните Object Tiles в списке и выберите New> Single Tile Group .Переименуйте эту группу в Gas Can и перетащите изображение gascan на плитку.

Выберите вариант плитки с газовым баллоном и добавьте данные пользователя, как и раньше. Кроме этого времени, назовите данные пользователя gascan .

Теперь вы создадите новый узел тайловой карты полностью в коде.

В GameScene.swift добавьте это новое свойство:

 var objectsTileMap: SKTileMapNode! 

После loadSceneNodes () добавьте новый метод:

 func setupObjects () { пусть столбцы = 32 пусть строк = 24 пусть размер = CGSize (ширина: 64, высота: 64) // 1 guard let tileSet = SKTileSet (с именем: "Object Tiles") else { fatalError ("Набор плиток объектов не найден") } // 2 objectsTileMap = SKTileMapNode (tileSet: tileSet, столбцы: столбцы, строки: строки, tileSize: размер) // 3 addChild (objectsTileMap) } 

Прохождение кода:

  1. Возьмите набор плиток, который вы создали в ObjectTiles.sks . Обратите внимание, что параметр с именем - это имя набора листов, а не имя файла .sks
  2. .
  3. Создайте новый узел карты листов, используя набор листов.
  4. Добавьте узел карты листов в иерархию сцены.

Добавьте это в конец setupObjects () :

 // 4 пусть tileGroups = tileSet.tileGroups // 5 guard let duckTile = tileGroups.first (где: {$ 0.name == "Duck"}) else { fatalError ("Определение плитки Duck не найдено") } охранник let gascanTile = tileGroups.первый (где: {$ 0.name == "Газовый баллон"}) else { fatalError ("Определение плитки газовой канистры не найдено") } // 6 пусть numberOfObjects = 64 

Опять проходим код:

  1. Получить список групп плиток из набора плиток.
  2. Получить определения плиток для плиток из массива групп плиток. tileGroups.first (где :) - удобный новый метод в Swift 3 для поиска первого вхождения объекта в массив.
  3. Задайте константу, необходимую для размещения объектов.Вы можете изменить numberOfObjects по своему усмотрению.

Теперь продолжайте тем же способом:

 // 7 for _ in 1 ... numberOfObjects { // 8 пусть столбец = Int (arc4random_uniform (UInt32 (столбцы))) пусть строка = Int (arc4random_uniform (UInt32 (строки))) пусть GroundTile = landBackground.tileDefinition (atColumn: столбец, строка: строка) // 9 let tile = groundTile == nil? уткаПлитка: газовая канистра // 10 objectsTileMap.setTileGroup (плитка, forColumn: столбец, строка: строка) } 

Опять проходим код:

  1. Петля для размещения 64 объектов.
  2. Случайным образом выбрать столбец и строку.
  3. Если выбранная плитка сплошная, выберите баллончик с газом; в противном случае выберите утку. Это обеспечит уверенность уток на воде и газовых баллончиков на траве.
  4. Поместите утку или газовый баллончик на плитку в выбранном столбце и строке.

В конце didMove (to :) вызовите этот новый метод:

 setupObjects () 

Сборка и запуск.Вы должны увидеть свой фон, усеянный утками на воде и баллончиками с газом на траве.

Последнее, что осталось сделать, это написать код, чтобы забрать их всех вместе с машиной. Это похоже на код, который вы написали ранее, чтобы определить, находитесь ли вы на водной плитке, за исключением того, что вы будете использовать пользовательские данные для утки и газового баллона.

Вернитесь в GameScene.swift , добавьте два свойства в начало GameScene :

 lazy var duckSound: SKAction = { вернуть SKAction.playSoundFileNamed ("Duck.wav", waitForCompletion: false) } () lazy var gascanSound: SKAction = { return SKAction.playSoundFileNamed ("Gas.wav", waitForCompletion: false) } () 

Здесь вы создали два действия для воспроизведения звуков при сборе объектов. Эти звуки включены в стартовый проект.

В конце обновления (_ :) добавьте этот код:

 пусть objectTile = objectsTileMap.tileDefinition (atColumn: столбец, строка: строка) если let _ = objectTile ?.userData? .value (forKey: "gascan") { запустить (gascanSound) objectsTileMap.setTileGroup (ноль, forColumn: столбец, строка: строка) } if let _ = objectTile? .userData? .value (forKey: "утка") { запустить (duckSound) objectsTileMap.setTileGroup (ноль, forColumn: столбец, строка: строка) } 

Здесь вы проверяете данные пользователя, чтобы определить, содержат ли они gascan или duck . Затем вы воспроизводите соответствующий звук и устанавливаете для группы плиток значение nil. Это удаляет плитку из поля зрения.

Создайте и запустите приложение и соберите изобилие канистр с бензином и уток! Намного проще, чем столкновение спрайтов:].

Куда идти дальше?

Надеюсь, вам понравилось научиться пользоваться редактором тайловых карт. Это фантастическое дополнение к инструментам SpriteKit!

Вы можете скачать финальный проект здесь.

Чтобы узнать больше о методах плитки и других интересных дополнениях, посмотрите видео WWDC 2016 «Что нового в SpriteKit».

Если у вас есть вопросы или комментарии, присоединяйтесь к обсуждению на форуме ниже!

Кредиты:

raywenderlich.com Еженедельно

Информационный бюллетень raywenderlich.com - это самый простой способ оставаться в курсе всего, что вам нужно знать как разработчику мобильных приложений.

Получайте еженедельный дайджест наших руководств и курсов, а в качестве бонуса получите бесплатный углубленный курс по электронной почте!

.Учебник по

Godot - Часть 7: Использование тайловых карт для создания игровой карты

В этом уроке мы увидим, как использовать Godot TileSet Editor для создания различных типов тайлов. При создании тайлов мы будем использовать их в TileMap , чтобы нарисовать карту нашей игры.

В Godot 3.2 существует 3 типа плиток:

  • Отдельные плитки : отдельные плитки, которые могут занимать одну или несколько ячеек тайловой карты.
  • Autotiles : используя автоматическое разбиение на листы, вы можете легко рисовать области карты, не размещая вручную отдельные фрагменты по одному.Алгоритм мозаичного изображения автоматически обнаружит края и внутренние части области и выберет правильный фрагмент для использования.
  • Атласы плитки : атлас - это просто набор отдельных плиток, сгруппированных вместе.

Разберем эти типы плитки по очереди.

Подготовительные шаги

Откройте проект SimpleRPG. Если вы следовали предыдущему руководству, удалите со сцены узлы Rock , MovingRock и Flowers , а затем удалите Flower.gd файл.

Создайте папку с именем Tilesets и переместите в нее файл map_tiles.png . Если вы не загружали файл в предыдущем руководстве, вы можете загрузить его сейчас, нажав кнопку ниже (при импорте изображения не забудьте отключить Фильтр на панели Импорт ).

Скачать «Плитки карты SimpleRPG» map_tiles.png - 5 КБ

Теперь добавьте узел TileMap в Root .

Добавить узел TileMap

A TileMap - это сетка тайлов, используемая для создания игровой карты. Использование тайловых карт дает много преимуществ. Прежде всего, вы можете нарисовать карту, просто раскрашивая плитки на сетке, что намного быстрее, чем вручную размещать все спрайты. Кроме того, вы можете рисовать карты гораздо большего размера, потому что узлы TileMap оптимизированы для этой задачи. Наконец, плитки могут включать в себя формы для столкновений, светового затенения и навигации.

Плитки, которые мы будем использовать в нашей игре, имеют размер 16 × 16 пикселей. Итак, в Inspector нам нужно установить Cell ‘s Size of TileMap на 16 × 16 .

Как только это будет сделано, мы можем создать TileSet , который будет использоваться в этом TileMap . В инспекторе щелкните [пусто] рядом с Набор плиток и выберите Новый набор плиток .

Создать новый набор TileSet

Теперь щелкните только что созданный ресурс TileSet :

Щелкните ресурс TileSet

Откроется редактор TileSet .

Редактор TileSet Editor появится в нижней части окна Godot.

Автотиль для травы

Для начала, мы создадим автотиль, который позволит нам рисовать траву, случайным образом размещая различные типы плиток . Это сделает ландшафт более интересным и визуально приятным.

Чтобы упростить редактирование, щелкните две стрелки в правом нижнем углу или нажмите Shift + F12 , чтобы увеличить рабочую область.

Добавьте изображение с плитками, нажав кнопку Plus в нижнем левом углу и выберите map_tiles.png в папке Tilesets. После добавления изображения используйте кнопки масштабирования, чтобы увеличить его.

Теперь нажмите кнопку New Autotile . Появится новая вкладка Region и ее панель инструментов.

Щелкните вторую кнопку на панели инструментов, чтобы активировать Grid Snap . Очень вероятно, что появившаяся сетка будет иметь неправильный размер, как на следующем изображении:

Неправильный размер сетки!

Изменение размера сетки не очень интуитивно понятно.Для этого выберите случайную область изображения: только в этот момент в Inspector появится раздел Snap Options . Измените значения x и y шага на 16, чтобы установить правильный размер сетки.

Теперь размер сетки правильный.

Выберите 4 квадрата травы в верхнем левом углу. Убедитесь, что в Inspector , Selected Tile → Subtile Size установлено значение 16,16:

Когда выделена область, появляются дополнительные вкладки:

  • Collision : здесь вы можете нарисовать формы столкновения плитки.
  • Окклюзия : на этой вкладке вы можете нарисовать формы окклюзии, используемые системой освещения Годо.
  • Навигация : здесь вы можете рисовать формы, используемые навигационной системой Godot.
  • Битовая маска : используется для настройки автоматической системы листов.
  • Приоритет : если вы хотите разместить плитки случайным образом, вы должны установить их приоритеты здесь.
  • Значок : это вкладка, на которой вы выбираете значок плитки.
  • Индекс Z : здесь вы можете установить индекс Z для каждой плитки

Перейдите на вкладку Битовая маска .Я объясню, как работает эта вкладка, позже, когда мы создадим автотиль для песка. А пока поверьте мне и выберите все четыре плитки травы с помощью левой кнопки мыши (вы увидите, что каждая плитка разделена на подквадраты 2 × 2, выберите все квадраты).

В битовой маске выберите все квадраты травы

Теперь перейдите на вкладку Priority .

Нажимая на каждую плитку, вы можете установить их вероятность использования (теперь все они установлены на 1/4). Выберите полностью зеленую плитку и увеличьте ее вероятность до 17 из 20, чтобы сделать ее наиболее часто используемой.

Наконец, перейдите на вкладку Icon и выберите значок autotile. Я выбираю плитку с травой в правом верхнем углу.

Использование автотиля

Перед тем, как пробовать только что созданный автотайл, установите его имя в Inspector на Grass и сохраните TileSet на диск. В Inspector щелкните значок диска , выберите Save и сохраните файл в папке Tilesets с именем MapTileset.tres .

Щелкните здесь, чтобы сохранить TileSet

. Теперь на панели Scenes щелкните TileMap . TileSet Editor закроется, и вы переключитесь в режим рисования.

Есть четыре инструмента для рисования карты:

  • Paint Tile (клавиша P): используется для рисования одной ячейки тайловой карты.
  • Bucket Fill (клавиша G): используется для заполнения замкнутой области выбранной плиткой.
  • Pick Tile (Control): используется для выбора типа ячейки под указателем мыши.
  • Выбрать (Control + B): используется для выбора области мозаичной карты.

В инструментах Paint и Bucket используйте левую кнопку мыши для рисования плиток и правую кнопку для их стирания.

Эти инструменты (и другие) доступны на панели инструментов рабочего пространства:

Попробуйте нарисовать контур с помощью инструмента Paint , а затем заполнить его Bucket :

Для нашей игры мы создадим контур размером 50 × Карта 50 ячеек.Чтобы нарисовать его быстрее, сначала нарисуйте все границы, а затем залейте область инструментом Bucket.

Если вы хотите внести последние штрихи вручную, вы можете установить флажок Отключить автопилот . Появится новое окно со всеми суб-тайлами внутри автотайла Grass . Вы можете выбрать одну из этих плиток и использовать ее для рисования карты, как мы видели ранее.

Автотиль для травы с включенным отключением автопарка

Например, я использовал ручное размещение, чтобы создать область, полную цветов, в юго-западном углу карты.

Я нарисовал много ромашек к юго-востоку от карты.

Если после рисования карты вы больше не видите игрока, проверьте в Inspector , что Player имеет значение Z Index , равное 1.

Настройка игровой камеры

Если вы запустите игру сейчас, вы увидите, как игрок движется по карте, но камера останется фиксированной , и игрок сможет выйти из экрана. Очевидно, это не то поведение, которое мы хотим! Мы хотим, чтобы камера следовала за игроком, когда он движется к краям экрана.

Самый простой способ сделать это - создать узел Camera2D как дочерний для Player. Выбрав Camera2D , в Inspector активируйте флажок Current , чтобы сделать камеру активной для текущей сцены. Затем включите оба свойства Drag Margin , чтобы перемещать камеру только тогда, когда игрок достигает границ перетаскивания. При этом в центре экрана появляется прямоугольник, внутри которого игрок может перемещаться, не перемещая камеру).

Теперь, поскольку Camera2D является дочерним по отношению к узлу Player , он будет следовать за ним при каждом движении по карте. Наш проект все больше похож на настоящую игру!

Внимание! Если при запуске игры у вас возникают проблемы с мозаичной картой, вызывающей периодическое мерцание, мигание или другие аномалии плитки, вы можете попробовать одно из следующих действий:

  • в Project Settings , активировать Rendering → Quality → 2d → Use Pixel Snap (если вы следовали моим руководствам, вы уже должны были активировать его)
  • активируйте Y Sort в узле TileMap (это сработало для меня)
  • в Project Settings , отключите Rendering → Quality → Depth → HDR .

Автотиль с песком

Чтобы создать автотайл с песком, повторно откройте набор плиток, дважды щелкнув файл MapTileset.tres . Затем выберите изображение в левом столбце TileSet Editor и, при необходимости, увеличьте изображение для более удобной работы.

Теперь нажмите New Autotile и выберите песчаные плитки, как на изображении ниже.

Выбрать все песчаные плитки

Перейдите на вкладку Bitmask .

Битовая маска - это метод автоматического выбора соответствующего спрайта из определенного автотиля. Он работает, устанавливая, какие части каждого суб-тайла являются внутренними (т.е. какие части не являются границами). Обладая этой информацией, Godot может автоматически решить, какой спрайт нарисовать для ячейки тайловой карты, в зависимости от окружающей ее ячейки.

Итак, что нам нужно сделать, это выбрать левой кнопкой мыши, какие части наших суб-тайлов являются внутренними, как показано на следующем изображении:

В битовой маске выберите внутренние части тайлов

Если вы выберете квадрат по ошибке, вы можете отменить его выбор правой кнопкой мыши.

Как вы могли видеть, каждая плитка разделена на сетку 2 × 2. Этот тип автотайлов позволяет нам иметь до 16 различных суб-тайлов для проектирования наших песчаных областей (в нашем изображении только 15 суб-тайлов для песка, потому что отсутствует тайл с границами со всех 4 сторон).

Есть два других типа битовых масок, в которых суб-тайлы разделены на сетки 3 × 3, и которые позволяют нам иметь более сложные карты (до 48 различных типов суб-тайлов), но мы не будем их использовать. в этом руководстве.

После установки Bitmask перейдите на вкладку Icon и выберите значок для этого автотиля.Наконец, в Inspector измените имя на Sand и сохраните набор тайлов.

Использование автозапуска песка

Щелкните узел TileMap , а затем в рабочей области выберите плитку Sand . Если вы попытаетесь нарисовать участок песка, вы увидите, что Godot автоматически разместит границы правильным образом.

Рисование участка песка

Добавьте несколько участков песка, чтобы сделать карту более интересной. Мой результат таков:

Я поместил немного песка на свою карту.

Автотиль для воды

Повторите процедуру, которую мы использовали для автотайла Sand , на этот раз выделив все фрагменты воды на изображении.

Вода - это препятствие, которое наш игрок не сможет преодолеть. Итак, после того, как вы установили область , битовую маску и значок , перейдите на вкладку Collisions , чтобы нарисовать формы столкновения.

Вкладка «Столкновение»

Взглянем на панель инструментов. Следуя по порядку, кнопки:

  • Выбрать текущий фрагмент : этот инструмент используется для выбора фрагмента для редактирования.
  • Создать новый прямоугольник : при выбранном инструменте щелчок по вложенной плитке создаст прямоугольную форму столкновения, которую вы можете изменить, перетаскивая углы.
  • Создать новый многоугольник : с помощью этого инструмента вы можете нарисовать многоугольную форму столкновения.
  • Удалить форму : удалить текущую форму столкновения.
  • Сохранять многоугольник внутри прямоугольника области : если этот параметр включен, область рисования будет ограничена выбранной областью подтиля.
  • Привязка к сетке : при включении ограничивает размещение точек полигонов сеткой.

Перед тем, как начать рисовать формы столкновения, убедитесь, что Сохранять многоугольник внутри прямоугольника области включен, а Привязка к сетке отключена.

Выберите дополнительный тайл воды в верхнем левом углу и нажмите Создать новый многоугольник . Используя левую кнопку мыши, нарисуйте многоугольник по одной точке за раз, пока он не закроется, как показано на следующем рисунке:

Нарисуйте форму столкновения над водой

Если вы допустили ошибку, вы можете отменить процедуру, щелкнув правой кнопкой мыши . После того, как вы нарисовали многоугольник, вы можете редактировать его, перетаскивая его точки или удаляя его с помощью кнопки Удалить фигуру на панели инструментов.

Теперь повторите эту процедуру для всех суб-плиток, пока не получите результат, показанный на изображении ниже.

Наконец, измените имя автотиля в Water и сохраните набор тайлов.

Использование автотиля для воды

Используйте этот автопилот для рисования некоторых областей воды, точно так же, как вы раньше использовали автотиль Sand .

Чтобы игрок не покинул карту, мы полностью окружим ее водой. Включите Отключить Autotile и добавьте водную границу ко всей карте (вам нужно будет вручную выбрать правильную границу и угловые плитки).Добавьте вокруг карты «толщину» из 7 плиток воды, чтобы, когда игрок находится на краю карты, серый фон не был виден.

Мой окончательный результат:

Действие игры разворачивается на небольшом острове.

Попробуйте запустить игру и убедитесь, что игрок не может проходить через водные пространства.

Атлас препятствий

Двигаясь по карте, игрок будет сталкиваться с препятствиями, которые будут блокировать его движение. Для удобства сгруппируем все эти плитки препятствий в атлас.

Снова откройте файл набора тайлов, выберите изображение на t

.

Смотрите также