Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
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 |
|
StringName |
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 |
|
PackedInt32Array |
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
Перехід до початку кліпу призначення.
TransitionToTime TRANSITION_TO_TIME_PREVIOUS_POSITION = 2
Transition to the last played position in the destination clip, if there was a previous transition from that clip. Otherwise, plays from the start of the destination clip.
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, пов’язаний із поточним кліпом.