The library used at the core of attributes slider is caroufredsel. You can learn more about it here:
They have a configuration robot you can use to make your own custom animations. You can also configure the carousel to do lots of things, it can be responsive to the number of visible items and the size of those items if programmed correctly - there are even examples on their website of how to do carousels integrated with lightboxes. There really is very little limit to what you can do with the carousel library, it will take nearly anything as html for the slides, so you can use concrete 5's attributes system to build up very detailed slides from images in the file system.
For the links, I've created an attribute that is basically just a link picker. The syntax for getting a link's url and text are in the included templates, I tried to make it very simple to work with. You can use multiple link attributes with the same image, so you could have as many 'buttons' in your slide design as you want.
This is a bit involved, I've docuemented it on my website, where I can actually use a code block to show what should be updated: