У меня есть 2D изображение. Что я хочу сделать, так это то, что каждый раз, когда я нажимаю на спрайт, он будет менять изображение (в определенном порядке) и повторять изображение каждые 4 раза, когда я нажимаю на него (таким образом, он повторяет порядок каждые 4 раза). У меня нет идеи, как это сделать, потому что я новичок в единстве. Заранее спасибо.
2 ответа
Предположительно, у вас есть массив или список изображений в том порядке, в котором вы хотите, чтобы они отображались (я назову это images
), и у вас есть способ обнаружить щелчок по спрайту. Есть много способов сделать то, что вы хотите в коде, один из них будет выглядеть примерно так:
int imageNum = 0; //this should be class wide
...
<sprite click detection>
{
imageNum++; //increment the imageNum
imageNum = imageNum >= 4 ? 0 : imageNum; //reset to 0 on the 4th click
sprite = images[imageNum]; //set the sprite to the next image
}
Если вы опубликуете то, что вы уже пробовали, я могу сделать этот код ближе к тому, что вы действительно хотите.
if (sprite click detection) sprite = images[imageNum = (imageNum + 1)%4];
Прежде чем погрузиться в мир единства, попробуйте изучить несколько руководств по C# или основам Java, это очень поможет. Что касается вопроса, создайте скрипт для объекта или нажатия события с базовым счетчиком, который увеличивает значение на 1 для каждого нажатия. что-то типа:
while(counter = 4)
{
picture.source = <new picture>
counter.int = 1
}
Или что-то в этом роде.
counter
на каждой итерации, что приведет к бесконечному циклу.
Похожие вопросы
Связанные вопросы
Новые вопросы
loops
Циклы - это тип структуры потока управления в программировании, в котором последовательность операторов может выполняться многократно, пока не будет выполнено какое-либо условие.