先上效果图
实现原理
总体思路如下:
1、将波浪效果绘制成一个静态的图片
2、将图片往水平和竖直方向,同时并按一定的速率移动
在实现的过程中,主要利用正弦函数 y=Asin(ωx+φ)+h ,设置四个参数(振幅、高度、波长和偏移)来实现波浪的动画效果。
Wate Level(水位):波浪静止时水面距离底部的高度
Amplitude(振幅):波浪垂直振动时偏离水面的最大距离
Wave Length(波长):一个完整的波浪的水平长度
Wave Shift(偏移):波浪相对于初始位置的水平偏移
代码模块
一、绘制波浪图片
mDefaultWaterLevel = getHeight() * DEFAULT_WATER_LEVEL_RATIO;
float mDefaultWaveLength = getWidth();
float mDefaultAmplitude = getHeight() * DEFAULT_AMPLITUDE_RATIO;
double mDefaultAngularFrequency = 2.0