I'm trying to make my view bounce off border using a fling animation.
Currently my puck works when I fling it. However, the fling is just stuck on the border and won't bounce. How do I make my puck bounce?
Here is my onFling function
override fun onFling(
e1: MotionEvent, e2: MotionEvent,
velocityX: Float, velocityY: Float
): Boolean {
flingAnimationX = makeXFlingAnimation(initVelocity = velocityX, goalAchieved)
flingAnimationY = makeYFlingAnimation(initVelocity = velocityY, goalAchieved)
flingAnimationX.start()
flingAnimationY.start()
//get location of puck
val location = IntArray(2)
puck.getLocationOnScreen(location)
val x = location[0]
val y = location[1]
if (x.toFloat() == puckMaxX) FlingAnimation(puck, DynamicAnimation.X).apply { setStartVelocity(-velocityX)
setMinValue(puckMinX)
setMaxValue(puckMaxX)
setFriction(friction)
start()}
if (x.toFloat() == puckMinX) FlingAnimation(puck, DynamicAnimation.X).apply{ setStartVelocity(-velocityX)
setMinValue(puckMinX)
setMaxValue(puckMaxX)
setFriction(friction)
start()}
if (y.toFloat() == puckMaxY) FlingAnimation(puck, DynamicAnimation.Y).apply { setStartVelocity(-velocityY)
setMinValue(puckMinX)
setMaxValue(puckMaxX)
setFriction(friction)
start()}
if (y.toFloat()== puckMinY) FlingAnimation(puck, DynamicAnimation.Y).apply { setStartVelocity(-velocityY)
setMinValue(puckMinY)
setMaxValue(puckMaxY)
setFriction(friction)
start()}
return true
Any help is appreciated!
