Как взять строку в качестве параметра в Unity ИЛИ получить палитры плиток, если вы знаете только карту плиток?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как взять строку в качестве параметра в Unity ИЛИ получить палитры плиток, если вы знаете только карту плиток?

Сообщение Anonymous »

Я пытался создать процедурно генерирующий мир в Unity, однако я попал в дорожный блок. Я создал тилевую карту с двумя плиточными палитрами, и я хочу использовать одну из них для мирового поколения. Я попытался пропустить параметр строки, чтобы я мог просто ввести имя того, что я хочу использовать, однако он не работает: < /p>

Код: Выделить всё

using UnityEngine;
using UnityEngine.Tilemaps;

public class TilePlacer : MonoBehaviour
{
public Tilemap tilemap;
[SerializeField]
string tilepalette;
[SerializeField]
int mapsizex;
[SerializeField]
int mapsizey;

void Start()
{
tilemap = GetComponent();
var tilePalette = Resources.Load($"Assets/Blocks/Sprites/{tilepalette}");

var currenttile = GetRandomTileFromPalette();
for (int x = 0; x < mapsizex; x++)
{
for (int y = 0; y < mapsizey; y++)
{
tilemap.SetTile(new Vector3Int(x * 20, y * 20, 0), currenttile);
}
}
}

void Update()
{

}

public Tile GetRandomTileFromPalette()
{
var tiles = tilePalette.GetTiles();
return tiles[Random.Range(0, tiles.Length)];
}
}
Это полный код, и единственная ошибка, которую я получаю, это то, что «tilePalette» не существует. Это связано с тем, что имя некуда вводить, несмотря на то, что оно работает для Mapsizex и Mapsizey. Есть идеи, как этого добиться?
Unity Screen

Подробнее здесь: https://stackoverflow.com/questions/793 ... when-you-o
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»