I forgot to make the button functions framerate independent. So could it be that the cannon moved just very very slow on your machine?
In addition to that, a simple fast click is not the way it is intended to work. A click and hold will move the cannon.

I need to know if the buttons collision behaviour is working on your machine, so if you have some minutes for me, could you test it again and take a look at a maybe very slow movement of the cannon?