This is part of the original post and not on the OP interest of whiteclaws 2 event and lonehangman offer.
So I was experimenting with dragged objects and the sample that OP posted. I like the design. use of the drag and drop is better. As I've already stated. However I found that in trying to capture a more intuitive and responsive controls the above example doesn't have the same polish as say Street Fighter 4, Grand Theft Auto for Android/ios.
First I wanted a larger area of input for where the thumb can start pressing graphically. the entire Touchpad area. I found making the control stick the same size had a draw back. The drag and drop feature follows where the object was grabbed. This resulted in a problem that even if I wanted to do a double tap I needed to "grab" the center each time. Where as tapping the side of the pad twice was ideal. The solution right now is to what seems a mandatory third event.
Second, it's purely personal taste. But I don't like the joystick stick part being able to be dragged entirely across the screen. So in the OP Thumb1(assume lower left) can be dragged all the way to the upper right. This is personal. I've seen games use this and there is nothing wrong with the choice. However....
a floating thumbstick results in unreliable analog based input. Analog referring to range of of left/right up/down and not angle. Since we are talking about touchscreens that range from 3.5 to 10 inches and a diversity of resolution. being reliant on distance will produce unreliable results. Due to the nature that distance and radius is dependent on device. That it is best to due a percentage based translation.
However, ZhouYun does have a point. The 2 event style he uses is as simple as it can get. However I would change the "Not Dragging" to "On Drop" instead. A "Not Dragging" condition will fire the code afterwards. So in his example Thumb1 when not dragging is having it's position set every frame. It's only 1 command, but it's not needed. Where as a "on drop" will only fire when an "on drop" event occurs.
Anyways. Again I appreciate the OP input and will change the article to a better way :)