Понедельник, 25 Ноября 2024, 07:46

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
CustomRange в SpriteMask и аналог оператора в Lua
alexsilentДата: Суббота, 13 Марта 2021, 16:25 | Сообщение # 1
почти ветеран
Сейчас нет на сайте
Не могу нагуглить по юнити:

1) можно ли кодом менять CustomRange в SpriteMask (скрипт спрайтовой маски)?
Я нашёл в документации только isCustomRangeActive - как бы проверять активна ли эта опция,
но как кодом сделать её активной не могу найти...

2) В Lua на Tic-80 был удобный оператор floor деления с float составляющей "//", есть ли аналог в юнити?
Это записывалось так в Tic-80 на Lua:
Код
a = b // c;


Сообщение отредактировал alexsilent - Суббота, 13 Марта 2021, 16:52
killing002Дата: Воскресенье, 14 Марта 2021, 12:04 | Сообщение # 2
почетный гость
Сейчас нет на сайте
Цитата alexsilent ()
1) можно ли кодом менять CustomRange в SpriteMask (скрипт спрайтовой маски)?
Я нашёл в документации только isCustomRangeActive - как бы проверять активна ли эта опция,
но как кодом сделать её активной не могу найти...


isCustomRangeActive является свойством и у него public set, через него и можно выставить в true Custom Range.
Код

IsCustomRangeActive = true;


Цитата alexsilent ()
2) В Lua на Tic-80 был удобный оператор floor деления с float составляющей "//", есть ли аналог в юнити?
Это записывалось так в Tic-80 на Lua:


Не понял, что значит деление с флоат составляющей.. Просто используй явное преобразование - (float). Если у тебя возникла ситуация под типу этой ..
Код

int a = 5;

void Awake()
{
float c = a / 2;
// c = 2
}


Но тебе нужен float на выходе..
Код

int a = 5;

void Awake()
{
float c = a / 2.0f;
// c = 2.5
}


Каких то специальных операторов в юнити нет. Не знаю помог ли или нет..


123

Сообщение отредактировал killing002 - Воскресенье, 14 Марта 2021, 16:51
alexsilentДата: Вторник, 16 Марта 2021, 10:39 | Сообщение # 3
почти ветеран
Сейчас нет на сайте
killing002, спасибо по первому вопросу, а я думал это только проверка)

А по второму вопросу, жаль что нет такой опции делении с ceil, мне наоборот нужно превратить в целое число:
Код
a = b // c; // в Tic-80 записывается
a = Mathf.CeilToRound(b / c); // в Unity это намного длинее кодом записывается

HandL.AnimIt(5+(Time.time%40//10)); // В итоге и так не самую простую линию нужно усложнять из этого варианта
HandL.AnimIt(5+(Mathf.FloorToCeil(Time.time%40/10))); // ...В этот вариант


Не люблю слишком длинные строки, ну да ладно, пора бы уже привыкнуть к этому аду из символов в Юнити за 10 лет.


Сообщение отредактировал alexsilent - Вторник, 16 Марта 2021, 10:41
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг