Unity 6.3
0 онлайн 102 гостей 3 в системе
Вход
2D разработка игр Шаг 62 из 198

Создание настраиваемой плитки, запускающей скрипт

Скриптовыполнимые плитки — это плитки, которые динамически меняют свой внешний вид или внешний вид окружающих их плиток. Скриптовыполнимые плитки являются частью пакета Пакет 2D Tilemap Extras.

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

Можно выполнить одно из следующих действий:

  • Добавление предварительно созданной скриптовой плитки.
  • Создание пользовательской скриптовой плитки с помощью TileBase API.

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

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

  1. Убедитесь, что в вашем проекте установлен пакет 2D Tilemap Extras. Для получения дополнительной информации см. настройка проекта для 2D игр.
  2. В главном меню выберите Ассеты > Создать > 2D > Плитка.
  3. Выберите предварительно построенную плитку, поддающуюся сценариям.
  4. Перетащите плитку из Project окно в палитра плитки чтобы рисовать с ним.

Дополнительные сведения см. в разделе Скриптоспособные плитки в документации пакета 2D Tilemap Extras.

Создание настраиваемой плитки для сценариев

Выполните следующие действия:

  1. Чтобы создать новый скрипт C#, в главном меню выберите Ассеты > Создать > Скрипт MonoBehaviour.

  2. Откройте скрипт и замените код классом, который наследуется от UnityEngine.Tilemaps.TileBase. Например:

    using UnityEngine;
    using UnityEngine.Tilemaps;
    
    public class MyScriptableTile : TileBase
    {
    }
    
  3. Реализуйте метод GetTileData. Этот метод определяет внешний вид новой плитки. Например:

    public override void GetTileData(Vector3Int position, ITilemap tilemap, ref TileData tileData)
    {
        tileData.color = Color.white;
    }
    
  4. Чтобы создать экземпляры вашей плитки в качестве ассетов в вашем проекте, добавьте CreateAssetMenu атрибут перед объявлением класса.

    [CreateAssetMenu]
    public class MyScriptableTile : TileBase
    {
        ...
    }
    
  5. Создайте экземпляр плитки. Например, в предыдущем примере в главном меню выберите Ассеты > My Scriptable Tile.

  6. Перетащите плитку из Project окно в палитра плитки чтобы рисовать с ним.

Примеры

Примеры настраиваемых плиток, поддающихся использованию в сценариях, см. в следующих разделах:

  • Tilemaps.TileBase.GetTileData.
  • Tilemaps.TileBase.RefreshTile для примера использования RefreshTile для определения того, какие другие плитки выполняют свой метод GetTileData, когда вы рисуете плитку.

Дополнительные ресурсы