DPADS on a touch screen are EASY.
Create 1 sprite with an arrow image.
Create a var in the sprite called DIRECTION
Have for ButtonArrow sprites with direction names for each.
Then
IsTouching ButtonArrow
Function.Call(ButtonArrow.direction)
Then do whatever game logic you want in the function. you can also do without the function. but doing it in the function allows for better future protability of the buttons and easier to integrate with keyboards and gamepads.
Now if you need Analog directional input and not a DPAD. then I have a tutorial in the mobile section that covers the needs. It needs a small update, but the CAPX provided is up to date and shows how to cover pretty much handling all the C2 Touch hurdles.