user1979976
user1979976

Reputation: 47

Drawing animated circle with OpenGL ES 2.0

I have a circle object, created with OpenGL vertices.

When the circle is being touched, I want a scaling animation to be activated. The circle radius will grow bigger until it reaches a certain radius, and then the circle will transform back to its original radius.

What is the best way to implement this animation?

Upvotes: 0

Views: 944

Answers (1)

Savail
Savail

Reputation: 867

You have a few possibilities. The simplest would be to just create a variable which would hold a scaling factor for your circle and multiply all vertices by it before rendering. Then using some timers and adjusting the scaling factor in time, you could create your animation. I should add that if you want to scale your circle by its center then you have to first translate the circle vertices so that circle's center will be at (0, 0) point, then scale by the factor and translate the circle back to its initial position.

If the circle animation you're trying to implement is some kind of your GUI element then another way which comes to my mind is to:

  1. create an ImageView in xml or dynamically in code

  2. draw the vertices on it

  3. create an XML android animation and apply it whenever you want

Here's a draft of the code for drawing a circle on the ImageView:

Bitmap tempBitmap = Bitmap.createBitmap(yourCircleWidth, yourCircleHeight, Bitmap.Config.ARGB_8888);
                Canvas tempCanvas = new Canvas(tempBitmap);

                //Draw the circle into the canvas               
                tempCanvas.drawColor(Color.WHITE);
                Paint paint = new Paint();
                paint.setStyle(Paint.Style.FILL);
                tempCanvas.drawCircle(circleCenterX, circleCenterY, yourCircleRadius, paint);

            //Attach the canvas to the ImageView
            yourImageView.setImageDrawable(new BitmapDrawable(yourImageView.getResources(), tempBitmap));

For XML animations, here's a good reference: http://www.androidhive.info/2013/06/android-working-with-xml-animations/

Upvotes: 1

Related Questions