Как сделать так, чтоб сначала проигрывалась анимация по одному, а иногда немного по другому.
Пример: Есть 2 лампочки, 1-вая мигает постоянно, 2-ая мигает по случайному, может мигнуть, может нет. Главное, чтобы это не была просто "гиф" где она просто иногда мигает через одинаковый промежуток времени.
Анимация - это, обычно, конечный автомат или машина состояний (англ. state machine), в Unity для контроллера анимации она как раз и используется. В вопросе был приведен пример со свечением лампочки, однако свечение лампочки - не есть анимация в общем случае, она либо горит, либо не горит.
Воспользовавшись обычным Random.Range
и корутиной с WaitForSeconds
:
public class StateMachine : MonoBehaviour {
enum State {
Off,
On
}
State state = State.Off;
[SerializeField]
Vector2 stateChangeTimerBorders;
Material material;
private void Start() {
material = GetComponent<MeshRenderer>().material;
StartCoroutine(StateRoutine());
}
IEnumerator StateRoutine() {
while (true) {
yield return new WaitForSeconds(UnityEngine.Random.Range(stateChangeTimerBorders.x, stateChangeTimerBorders.y));
// Меняем состояние
state++;
if(state > State.On) {
state = State.Off;
}
// Меняем свойства объекта в зависимости от стейта
switch (state) {
case State.Off:
material.SetColor("_Color", Color.white);
break;
case State.On:
material.SetColor("_Color", Color.yellow);
break;
default:
throw new ArgumentException(String.Format("Unknown state {0}", state));
}
}
}
}
Можно получить такой результат:
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Подскажите как сделать, что бы масив начиная с последнего элемента, плавно опускался вниз и исчезал? Принцип тетриса, но реализовать не получаеться
как можно брать цифры в строке полученную из базы "1,5,7" засунуть их в переменные или как то еще лучше чтоб типа в цикле поставить на каждую...
Доброго времени сутокНе знаю, стоило ли сюда писать весь код, но я думаю, так будет нагляднее(а может и нет) Есть такой код, он выполняет нужную...
Хотите улучшить этот вопрос? Переформулируйте вопрос так, чтобы на него можно было дать ответ, основанный на фактах и цитатах