JavaScript:Библиотеки/p5.sound/Класс p5.Envelope/triggerAttack(): различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
 
Нет описания правки
 
(не показана 1 промежуточная версия этого же участника)
Строка 4: Строка 4:
{{Myagkij-редактор}}
{{Myagkij-редактор}}


{{Черновик}}
 


= triggerAttack() <ref>[https://p5js.org/reference/#/p5.Env/triggerAttack p5js.org - triggerAttack()]</ref>=
= triggerAttack() <ref>[https://p5js.org/reference/#/p5.Env/triggerAttack p5js.org - triggerAttack()]</ref>=
Строка 14: Строка 14:
Чтобы использовать эту функцию, нужно подключить библиотеку p5.sound. Для этого в заголовок своего файла «index.html» впишите следующее:
Чтобы использовать эту функцию, нужно подключить библиотеку p5.sound. Для этого в заголовок своего файла «index.html» впишите следующее:


<syntaxhighlight lang="javascript" enclose="div">
<syntaxhighlight lang="javascript">
<script language="javascript" type="text/javascript" src="path/to/p5.sound.js"></script>
<script language="javascript" type="text/javascript" src="path/to/p5.sound.js"></script>
</syntaxhighlight>
</syntaxhighlight>
Строка 20: Строка 20:
==Синтаксис==
==Синтаксис==


<syntaxhighlight lang="javascript" enclose="div">
<syntaxhighlight lang="javascript">
triggerAttack(unit, secondsFromNow)
triggerAttack(unit, secondsFromNow)
</syntaxhighlight>
</syntaxhighlight>
Строка 26: Строка 26:
==Параметры==
==Параметры==


<syntaxhighlight lang="javascript" enclose="div">
<syntaxhighlight lang="javascript">
unit – объект из библиотеки p5.sound или объект AudioParam из Web Audio API, громкость которого будет управляться с помощью ADSR-огибающей. Тип данных – объект
unit – объект из библиотеки p5.sound или объект AudioParam из Web Audio API, громкость которого будет управляться с помощью ADSR-огибающей. Тип данных – объект
secondsFromNow – время (в секундах) после вызова функции, спустя которое будет проигран заданный объект. Тип данных – number
secondsFromNow – время (в секундах) после вызова функции, спустя которое будет проигран заданный объект. Тип данных – number
Строка 33: Строка 33:
==Возвращаемое значение==
==Возвращаемое значение==


<syntaxhighlight lang="javascript" enclose="div">
<syntaxhighlight lang="javascript">


</syntaxhighlight>
</syntaxhighlight>
Строка 41: Строка 41:
===№1===
===№1===


<syntaxhighlight lang="javascript" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="javascript" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
var attackLevel = 1.0;
var attackLevel = 1.0;
var releaseLevel = 0;
var releaseLevel = 0;
Строка 91: Строка 91:
===№2===
===№2===


<syntaxhighlight lang="javascript" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="javascript" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">


</syntaxhighlight>
</syntaxhighlight>
Строка 97: Строка 97:
===№3===
===№3===


<syntaxhighlight lang="javascript" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="javascript" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">


</syntaxhighlight>
</syntaxhighlight>

Текущая версия от 13:11, 18 июня 2023

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.



triggerAttack() [1]

Описание

Запускает стадии атаки и спада ADSR-огибающей. Действие этой функции аналогично нажатию на клавишу пианино и удержанию ее в таком состоянии. Звуковым объектом, на котором будет использована ADSR-огибающая, может быть объект из библиотеки p5.sound или объект AudioParam из Web Audio API.

Чтобы использовать эту функцию, нужно подключить библиотеку p5.sound. Для этого в заголовок своего файла «index.html» впишите следующее:

<script language="javascript" type="text/javascript" src="path/to/p5.sound.js"></script>

Синтаксис

triggerAttack(unit, secondsFromNow)

Параметры

unit  объект из библиотеки p5.sound или объект AudioParam из Web Audio API, громкость которого будет управляться с помощью ADSR-огибающей. Тип данных  объект
secondsFromNow  время (в секундах) после вызова функции, спустя которое будет проигран заданный объект. Тип данных  number

Возвращаемое значение

Пример

№1

var attackLevel = 1.0;
var releaseLevel = 0;

var attackTime = 0.001
var decayTime = 0.3;
var susPercent = 0.4;
var releaseTime = 0.5;

var env, triOsc;

function setup() {
  var cnv = createCanvas(100, 100);
  background(200);
  textAlign(CENTER);
  text('click to play', width/2, height/2);
   //  'кликните, чтобы начать проигрывание'

  env = new p5.Env();
  env.setADSR(attackTime, decayTime, susPercent, releaseTime);
  env.setRange(attackLevel, releaseLevel);

  triOsc = new p5.Oscillator('triangle');
  triOsc.amp(env);
  triOsc.start();
  triOsc.freq(220);

  cnv.mousePressed(envAttack);
}

function envAttack(){
  console.log('trigger attack');
  env.triggerAttack();

  background(0,255,0);
  text('attack!', width/2, height/2);
   //  'атака!'
}

function mouseReleased() {
  env.triggerRelease();

  background(200);
  text('click to play', width/2, height/2);
   //  'кликните, чтобы начать проигрывание'
}

№2

№3

См.также

Внешние ссылки