I check for ONLY the first frame of when the screen is touched, then in that frame I get the first sprite that contains the cursor coords.
After that, I get the offset between my cursor and the sprite position.Then for the rest of the time that the screen is touched, I move the sprite to the cursor plus the offset I collected before.When I lift the stylus from the screen, I reset everything.
I then check while the screen is not touched if elements are those in any recipe, and if they are, I check if they are colliding. If so, I delete both and make a new sprite with the resulting element type.