question: public void onAbsorb ( int velocity ) { mState = STATE_ABSORB ; velocity = Math . max ( MIN_VELOCITY , Math . abs ( velocity ) ) ; mStartTime = AnimationUtils . currentAnimationTimeMillis ( ) ; mDuration = 0.1f + ( velocity * 0.03f ) ; mEdgeAlphaStart = 0.f ; mEdgeScaleY = mEdgeScaleYStart = 0.f ; mGlowAlphaStart = 0.5f ; mGlowScaleYStart = 0.f ; mEdgeAlphaFinish = Math . max ( 0 , Math . min ( velocity * VELOCITY_EDGE_FACTOR , 1 ) ) ; mEdgeScaleYFinish = Math . max ( HELD_EDGE_SCALE_Y , Math . min ( velocity * VELOCITY_EDGE_FACTOR , 1.f ) ) ; mGlowScaleYFinish = Math . min ( 0.025f + ( velocity * ( velocity / 100 ) * 0.00015f ) , 1.75f ) ; mGlowAlphaFinish = Math . max ( mGlowAlphaStart , Math . min ( velocity * VELOCITY_GLOW_FACTOR * .00001f , MAX_ALPHA ) ) ; }
target:  Call when the effect absorbs an impact at the given velocity.