question: public void update ( long dt , float ratioY ) { double step = 2 * Math . PI / POINTS_PER_CIRCLE ; angle += dt * BUBBLE_D_ANGLE ; float fromX = startX + ( float ) ( 0.05f * Math . sin ( angle ) ) ; float toX = fromX + size ; float fromY = this . fromY + dt * speed ; float toY = fromY + size ; centerY += dt * virtualSpeed ; getColor ( ) [ 3 ] = ( TOP_Y - centerY / TOP_Y ) ; vertexBuffer . put ( 0 , Utils . normalizeGl ( 0 , fromX , toX ) ) ; vertexBuffer . put ( 1 , Utils . normalizeGl ( centerY * ratioY , fromY , toY ) ) ; for ( int i = 1 ; i <= POINTS_PER_CIRCLE ; i ++ ) { vertexBuffer . put ( COORDS_PER_VERTEX * i , Utils . normalizeGl ( ( float ) Math . sin ( - Math . PI + step * i ) , fromX , toX ) ) ; vertexBuffer . put ( COORDS_PER_VERTEX * i + 1 , Utils . normalizeGl ( ( float ) Math . cos ( - Math . PI + step * i ) * ratioY , fromY , toY ) ) ; } this . fromY = fromY ; }
target:  Update position of bubble.