Sorry for the double post, but I think I can answer your second question as well.
To rotate with sliding, you just need to change a nodes rotation based on how much someone moves their finger across the screen. So for instance create an object to use as the sliding surface. Make the surface cover the whole area of the screen you want touchable, it does not have to be visible.
Then give it a pointermove script that looks something like this.
var mObj = symbol.nodes(the node or object you want to rotate)
var lastX : number // This is needed for storing distance between frames.
parent.on(“pointermove”, (_e)=> {
let _dist = _e.screenposition[0] - lastX; // how much we’ve moved between frames.
let _rot = mObj.rotation(); // Get current rotation so we can alter one axis.
_rot[2] += _dist; // change the rotation based on distance, you can multiply a constant to alter how much it rotates.
mObj.rotation(_rot); // Set the nodes rotation to the new rotation.
lastX = e.screenposition[0] // record where the user is touching the screen this frame for next time they move.
});
// This is also necessary to get the initial position of the users touch.
parent.on(“pointerdown”, (_e)=> {
lastX = e.screenposition[0];
});
Hope this helps.