J'ai créé une vue personnalisée en chargeant une image d'une petite balle. Alors que la méthode onDraw ressemblerait à ceci:Android :: Création d'une balle élastique draggable?
public void onDraw(Canvas canvas) {
canvas.drawBitmap(...);
}
Plus tard, j'ai ajouté un auditeur OnTouch pour pouvoir écouter toucher des événements pour permettre à la balle d'être traîné autour.
public boolean onTouchEvent(MotionEvent event) {
int eventaction = event.getAction();
int X = (int)event.getX();
int Y = (int)event.getY();
switch (eventaction) {
case MotionEvent.ACTION_MOVE: // touch drag with the ball
// move the balls the same as the finger
ball.setX(X-25);
ball.setY(Y-25);
break;
}
// redraw the canvas
invalidate();
return true;
}
Maintenant, je suis en train de faire la balle déplacer uniquement le long d'une courbe et si elle ne se déplace pas au-delà d'un point fixe, le faire se balancer à sa position d'origine. Donc, il y a deux problèmes que je suis actuellement confronté:
- Fixation de la trajectoire de la balle
- Jetant en arrière par l'animant. Un problème que j'observe est si je utiliser
ball.startAnimation
, et si la balle était légèrement floue, la boule semble tranchée.
Ball Swing http://www.freeimagehosting.net/uploads/b68d5434ed.png
Toutes les suggestions s'il vous plaît?