AudioStreamInteractive
Успадковує: AudioStream < Resource < RefCounted < Object
Аудіопотік, який може відтворювати музику в інтерактивному режимі, поєднуючи кліпи та таблицю переходів.
Опис
Це аудіопотік, який може відтворювати музику в інтерактивному режимі, поєднуючи кліпи та таблицю переходів. Спершу потрібно додати кліпи, а правила переходу — через add_transition(). Крім того, цей потік експортує параметр властивості для керування відтворенням через AudioStreamPlayer, AudioStreamPlayer2D або AudioStreamPlayer3D.
Це використовується шляхом заповнення кількох кліпів, а потім налаштування таблиці переходів. Звідти кліпи вибираються для відтворення, а музика плавно переходитиме від поточного до нового, використовуючи відповідне правило переходу, визначене в таблиці переходів.
Властивості
|
||
|
Методи
void |
add_transition(from_clip: int, to_clip: int, from_time: TransitionFromTime, to_time: TransitionToTime, fade_mode: FadeMode, fade_beats: float, use_filler_clip: bool = false, filler_clip: int = -1, hold_previous: bool = false) |
void |
erase_transition(from_clip: int, to_clip: int) |
get_clip_auto_advance(clip_index: int) const |
|
get_clip_auto_advance_next_clip(clip_index: int) const |
|
get_clip_name(clip_index: int) const |
|
get_clip_stream(clip_index: int) const |
|
get_transition_fade_beats(from_clip: int, to_clip: int) const |
|
get_transition_fade_mode(from_clip: int, to_clip: int) const |
|
get_transition_filler_clip(from_clip: int, to_clip: int) const |
|
get_transition_from_time(from_clip: int, to_clip: int) const |
|
get_transition_list() const |
|
get_transition_to_time(from_clip: int, to_clip: int) const |
|
has_transition(from_clip: int, to_clip: int) const |
|
is_transition_holding_previous(from_clip: int, to_clip: int) const |
|
is_transition_using_filler_clip(from_clip: int, to_clip: int) const |
|
void |
set_clip_auto_advance(clip_index: int, mode: AutoAdvanceMode) |
void |
set_clip_auto_advance_next_clip(clip_index: int, auto_advance_next_clip: int) |
void |
set_clip_name(clip_index: int, name: StringName) |
void |
set_clip_stream(clip_index: int, stream: AudioStream) |
Переліки
enum TransitionFromTime: 🔗
TransitionFromTime TRANSITION_FROM_TIME_IMMEDIATE = 0
Почніть перехід якнайшвидше, не чекайте певної позиції часу.
TransitionFromTime TRANSITION_FROM_TIME_NEXT_BEAT = 1
Перехід, коли позиція відтворення кліпу досягає наступного такту.
TransitionFromTime TRANSITION_FROM_TIME_NEXT_BAR = 2
Перехід, коли позиція відтворення кліпу досягає наступного рядка.
TransitionFromTime TRANSITION_FROM_TIME_END = 3
Перехід після закінчення відтворення поточного кліпу.
enum TransitionToTime: 🔗
TransitionToTime TRANSITION_TO_TIME_SAME_POSITION = 0
Перехід до тієї самої позиції в кліпі призначення. Це корисно, коли обидва кліпи мають однакову довжину і музика між ними має затихати.
TransitionToTime TRANSITION_TO_TIME_START = 1
Перехід до початку кліпу призначення.
enum FadeMode: 🔗
FadeMode FADE_DISABLED = 0
Не використовуйте затухання для переходу. Це корисно під час переходу від кінця кліпу до початку кліпу, і кожен кліп має свій початок/кінець.
FadeMode FADE_IN = 1
Використовуйте плавне наближення в наступному кліпі, нехай поточний кліп закінчиться.
FadeMode FADE_OUT = 2
Використовуйте згасання в поточному кліпі, наступний кліп розпочнеться сам.
FadeMode FADE_CROSS = 3
Використовуйте крос-фейд між кліпами.
FadeMode FADE_AUTOMATIC = 4
Використовуйте логіку автоматичного згасання залежно від переходу від/до. Рекомендовано використовувати це за замовчуванням.
enum AutoAdvanceMode: 🔗
AutoAdvanceMode AUTO_ADVANCE_DISABLED = 0
Вимкнути автоматичний перехід (за замовчуванням).
AutoAdvanceMode AUTO_ADVANCE_ENABLED = 1
Увімкніть автоматичне переміщення, необхідно вказати кліп.
AutoAdvanceMode AUTO_ADVANCE_RETURN_TO_HOLD = 2
Увімкніть автоматичний перехід, але замість того, щоб указати кліп, відтворення повернеться до режиму утримання (див. add_transition()).
Константи
CLIP_ANY = -1 🔗
Ця константа описує, що будь-який кліп дійсний для певного переходу як джерело або місце призначення.
Описи властивостей
Кількість кліпів, які містяться в цьому інтерактивному програвачі.
Індекс початкового кліпу, який буде відтворено першим під час відтворення цього потоку.
Описи методів
void add_transition(from_clip: int, to_clip: int, from_time: TransitionFromTime, to_time: TransitionToTime, fade_mode: FadeMode, fade_beats: float, use_filler_clip: bool = false, filler_clip: int = -1, hold_previous: bool = false) 🔗
Додає перехід між двома кліпами. Укажіть індекси вихідного та кінцевого кліпів або використовуйте константу CLIP_ANY, щоб вказати, що відбувається перехід до/з будь-якого кліпу до цього.
* from_time вказує момент у поточному кліпі, коли перехід почнеться після запуску.
* to_time вказує час у наступному кліпі, з якого почнеться відтворення.
* fade_mode вказує, як відбуватиметься затухання між кліпами. Якщо ви не впевнені, просто використовуйте FADE_AUTOMATIC, який використовує найпоширеніший тип затухання для кожної ситуації.
* fade_beats вказує, скільки ударів займе фейд. Допускається використання десяткових дробів.
* use_filler_clip вказує, що між вихідним і цільовим кліпами буде використовуватися кліп-заповнювач.
* filler_clip індекс кліпу-заповнювача.
* Якщо використовується hold_previous, цей кліп буде запам'ятатися. Це можна використовувати разом із AUTO_ADVANCE_RETURN_TO_HOLD, щоб повернутися до цього кліпу після завершення відтворення іншого.
void erase_transition(from_clip: int, to_clip: int) 🔗
Стерти перехід, надавши індекси кліпу from_clip і to_clip. CLIP_ANY може використовуватися для будь-якого аргументу або обох.
AutoAdvanceMode get_clip_auto_advance(clip_index: int) const 🔗
Повідомляє, чи ввімкнено автоматичне переміщення кліпу. Перегляньте set_clip_auto_advance().
int get_clip_auto_advance_next_clip(clip_index: int) const 🔗
Повернути кліп, до якого буде автоматично переходити кліп, на який посилається clip_index.
StringName get_clip_name(clip_index: int) const 🔗
Повернути назву кліпу.
AudioStream get_clip_stream(clip_index: int) const 🔗
Повертає AudioStream, пов’язаний із кліпом.
float get_transition_fade_beats(from_clip: int, to_clip: int) const 🔗
Повертає час (у ударах) переходу (див. add_transition()).
FadeMode get_transition_fade_mode(from_clip: int, to_clip: int) const 🔗
Повернути режим для переходу (див. add_transition()).
int get_transition_filler_clip(from_clip: int, to_clip: int) const 🔗
Поверніть кліп-заповнювач для переходу (див. add_transition()).
TransitionFromTime get_transition_from_time(from_clip: int, to_clip: int) const 🔗
Повертає початкову часову позицію для переходу (див. add_transition()).
PackedInt32Array get_transition_list() const 🔗
Повернути список переходів (від, до чергування).
TransitionToTime get_transition_to_time(from_clip: int, to_clip: int) const 🔗
Повертає часову позицію призначення для переходу (див. add_transition()).
bool has_transition(from_clip: int, to_clip: int) const 🔗
Повертає true, якщо певний перехід існує (був доданий через add_transition()).
bool is_transition_holding_previous(from_clip: int, to_clip: int) const 🔗
Повертає, чи використовує перехід функцію утримувати попередній (див. add_transition()).
bool is_transition_using_filler_clip(from_clip: int, to_clip: int) const 🔗
Повертає, чи використовує перехід функцію заповнювача (див. add_transition()).
void set_clip_auto_advance(clip_index: int, mode: AutoAdvanceMode) 🔗
Змінивши режим автоматичного переходу, установіть, чи буде кліп автоматично переходити вперед.
void set_clip_auto_advance_next_clip(clip_index: int, auto_advance_next_clip: int) 🔗
Встановіть індекс наступного кліпу, до якого цей кліп буде автоматично переходити після завершення. Якщо кліп, який відтворюється, повторюється, автоматичний перехід буде проігноровано.
void set_clip_name(clip_index: int, name: StringName) 🔗
Встановіть назву поточного кліпу (для легшої ідентифікації).
void set_clip_stream(clip_index: int, stream: AudioStream) 🔗
Установіть AudioStream, пов’язаний із поточним кліпом.