Rotating the triangle with user input
The previous example demonstrated rotating the triangle based on the system clock. This created a continuously rotating triangle, depending on the render mode we used. But what if you wanted to respond to the input from the user?
In this recipe, we'll show how to respond to user input by overriding the onTouchEvent()
callback from GLSurfaceView
. We'll still rotate the triangle using the Matrix.setRotateM()
method, but instead of deriving an angle from the system time, we'll calculate an angle based on the touch location.
Here's a screenshot showing this recipe running on a physical device (to highlight the touch, the Show touches developer option is enabled):
Getting ready
Create a new project in Android Studio and call it: RotateWithUserInput
. Use the default Phone & Tablet options and select Empty Activity when prompted for Activity Type.
This recipe demonstrates an alternative approach to the previous recipe and therefore will be based on Applying...