Вопрос Анимация появления круга

Astty
Пользователь
Статус
Оффлайн
Регистрация
11 Окт 2020
Сообщения
435
Реакции[?]
56
Поинты[?]
0
Хочу сделать анимацию появления круга
Я то сделал, но он только работает на первый круг, а дальше нет анимации (то есть второй круг и т. уже без анимации), что делать? Подскажите
(Код ниже)

C++:
    static auto alpha = 0.0f;


        if ( origin.IsValid())
            alpha += 3.0f * m_globals()->m_frametime;
        else
            alpha -= 3.0f * m_globals()->m_frametime;

    alpha = Math::clamp(alpha, 0.0f, 1.0f);

    render::get().Draw3DCircle(origin, 144.f, Color(col.r(), col.g(), col.b(), (int)(col.a() * alpha)), 60);
 
Забаненный
Статус
Оффлайн
Регистрация
28 Ноя 2021
Сообщения
1
Реакции[?]
0
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Хочу сделать анимацию появления круга
Я то сделал, но он только работает на первый круг, а дальше нет анимации (то есть второй круг и т. уже без анимации), что делать? Подскажите
(Код ниже)

C++:
    static auto alpha = 0.0f;


        if ( origin.IsValid())
            alpha += 3.0f * m_globals()->m_frametime;
        else
            alpha -= 3.0f * m_globals()->m_frametime;

    alpha = Math::clamp(alpha, 0.0f, 1.0f);

    render::get().Draw3DCircle(origin, 144.f, Color(col.r(), col.g(), col.b(), (int)(col.a() * alpha)), 60);
мейби задать повторение ?
 
Эксперт
Статус
Оффлайн
Регистрация
13 Сен 2020
Сообщения
1,414
Реакции[?]
710
Поинты[?]
7K
Хочу сделать анимацию появления круга
Я то сделал, но он только работает на первый круг, а дальше нет анимации (то есть второй круг и т. уже без анимации), что делать? Подскажите
(Код ниже)

C++:
    static auto alpha = 0.0f;


        if ( origin.IsValid())
            alpha += 3.0f * m_globals()->m_frametime;
        else
            alpha -= 3.0f * m_globals()->m_frametime;

    alpha = Math::clamp(alpha, 0.0f, 1.0f);

    render::get().Draw3DCircle(origin, 144.f, Color(col.r(), col.g(), col.b(), (int)(col.a() * alpha)), 60);
у тебя что 1 альфа для всех оригинов
 
Забаненный
Статус
Оффлайн
Регистрация
11 Май 2020
Сообщения
115
Реакции[?]
91
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
в прямом. у тебя 1 альфа на все origin.
16 игроков - 16 ориджинов - 1 альфа.

Вот тебе подсказали
static auto alpha[64] = {0.0f};
и вот
Если не понимаешь о чем речь - прошу
Пожалуйста, авторизуйтесь для просмотра ссылки.
 
Astty
Пользователь
Статус
Оффлайн
Регистрация
11 Окт 2020
Сообщения
435
Реакции[?]
56
Поинты[?]
0
в прямом. у тебя 1 альфа на все origin.
16 игроков - 16 ориджинов - 1 альфа.

Вот тебе подсказали


и вот


Если не понимаешь о чем речь - прошу
Пожалуйста, авторизуйтесь для просмотра ссылки.
а причем тут игроки? я просто для смоук таймера делаю
 
Keep Ev0lving, Stay Fatal
Эксперт
Статус
Оффлайн
Регистрация
6 Фев 2018
Сообщения
1,543
Реакции[?]
583
Поинты[?]
99K
а причем тут игроки? я просто для смоук таймера делаю
Ты создаёшь static auto alpha[64] = {0.0f}; в начале.
Далее, уже в цикле ентити ты используешь alpha[ent->get_index()] везде.
Если тебе нужен смок, то берёшь ентити смока:
Пожалуйста, авторизуйтесь для просмотра ссылки.
То есть smoke->get_index().
/UPD: А смысл, в лв уже сделано всё для этого.
 
Astty
Пользователь
Статус
Оффлайн
Регистрация
11 Окт 2020
Сообщения
435
Реакции[?]
56
Поинты[?]
0
Ты создаёшь static auto alpha[64] = {0.0f}; в начале.
Далее, уже в цикле ентити ты используешь alpha[ent->get_index()] везде.
Если тебе нужен смок, то берёшь ентити смока:
Пожалуйста, авторизуйтесь для просмотра ссылки.
То есть smoke->get_index().
/UPD: А смысл, в лв уже сделано всё для этого.
и как мне цикл то сделать, я именно не понимаю как сделать цикл
 
Keep Ev0lving, Stay Fatal
Эксперт
Статус
Оффлайн
Регистрация
6 Фев 2018
Сообщения
1,543
Реакции[?]
583
Поинты[?]
99K
и как мне цикл то сделать, я именно не понимаю как сделать цикл
В такой ситуации тебе по идее не нужен цикл, просто напиши static auto alpha[64] = {0.0f}; и далее используй alpha[smoke->get_index()].
 
Забаненный
Статус
Оффлайн
Регистрация
11 Май 2020
Сообщения
115
Реакции[?]
91
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
а причем тут игроки? я просто для смоук таймера делаю
даже если для смока.
у тебя может быть кинуто одновременно 2,5,6,100 смоков. делай так,как сказали. итерация не нужна.
 
Сверху Снизу