Сначала поместите простую диаграмму эффектов
😔 Принцип
Функция sin оценивается как знакомая всем, а используемая формулаamplitude * sin(frequency * x) + displacement
Мы можем управлять анимацией кривой, изменяя амплитуду и частоту функции.
😈 начало
определитьWave
Добрый
class Wave {
Никакой особой магии не требуется, нарисовать волну несложно.
Но те, кто немного почувствует, обнаружат, что вся анимация очень жесткая, как будто изображение панорамируется. Как может человек с идеалами терпеть.
😄 Улучшения
Легко обнаружить, что причина жесткости в том, что гребень волны всегда был таким высоким.Если размер гребня можно изменить с помощью покраски, все будет в порядке.
Добавьте небольшую деталь, определитеthis.k
значение, а затем изменить
this.amplitude = this.a;
изменить на
this.amplitude = this.a * sin(((this.t / this.k) * this.k) / 5);
Увидев это, вы можете задаться вопросом, откуда взялась эта загадочная функция.Наша цель состоит в том, чтобы изменить амплитуду соответствующим образом, поэтому мы умножаем ее на функцию sin, чтобы амплитуда изменялась вверх и вниз.
🐔 Наконец-то
Простая реализация дела
Ссылка на ссылку
код спрей.IO/Wayne exists/spray...
Но Япония обнародовала .com/shots/36529…
Но Япония обнародовала .com/shots/37814…