how to make gameobject follow finger touch position within custom joystick

I am trying to make a custom joystick in C#. I have two sprites (below): an outer circle (opaque) and an inner circle (solid white). The outer circle is meant to be the boundary for the joystick, which is the inner circle.

44660-screen-shot-2015-04-16-at-44735-pm.png

I want to make the joystick move when a finger touches it, have it stop when it reaches the outer rim of the boundary, and have another game object (the player) to move accordingly with the position of the joystick. I have tried using raycasts, but I am not very familiar with them. Does anyone know how I should go about doing this. Any help is appreciated. Thanks in advance.

Maybe try this series: Unity Touch Joystick Player Movement - Touch FPS Controller (Part 1) - YouTube