you actually dont need to buy unity, but if you use one of the 2d sprite packages off of the unity asset store you'll need to buy them. Of course you can do everything by hand it just will take more work and animations will be alot harder... Check out this tutorial it will show you what is needed to make a 2d game from scrach, however they make their own sprites and the animation atlases http://www.rebelplanetcreations.com/downloads/Other/Tutorials/HowToMakeAGameInUnity3D.pdf
2d Games with unity takes some work, there are many options to do 2D u can do it from scratch or use a toolkit from the unity asset store. I can only teach you so much about unity, scripting in js(unityscript) or C# i can guide you in but cannot teach you. However unity does have a alot of great tutorials for learning.