To rotate the layer gradually you should set the angle every tick instead of once.
Example of one way to do it:
create a global variable: LayerNewAngle
Create a sprite
on sprite touched(or clicked)
-system set LayerNewAngle : Layerangle(0)+45
system compare two values Layerangle(0) < LayerNewAngle
- system set layerangle : layerangle+1
It is ofcourse possible to use lerp or other features to make it look even better, but fact remains the angle should be adjusted over time instead of in one go.