Challenge: Rotating Boxes

For a harder challenge, make it so that you can use a second finger to rotate your rectangles. To do this, you will need to handle multiple pointers in your MotionEvent handling code. You will also need to rotate your canvas.

When dealing with multiple touches, you need these extra ideas:

pointer index

tells you which pointer in the current set of pointers the event is for

pointer ID

gives you a unique ID for a specific finger in a gesture

The pointer index may change, but the pointer ID will not.

For more details, check out the documentation for the following MotionEvent functions:

    final fun getActionMasked(): Int
    final fun getActionIndex(): Int
    final fun getPointerId(pointerIndex: Int): Int
    final fun getX(pointerIndex: Int): Float
    final fun getY(pointerIndex: Int): Float

Also look at the documentation for the ACTION_POINTER_UP and ACTION_POINTER_DOWN constants.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.207.161.212