|The idea of a butterfly widget has been around
for a while, there are another
2 or 3 widgets that simulate a butterfly moving across screen, so way
build one more? Well, those widgets are using some animated GIF image to
represent a flapping butterfly, that can't be blended nicely with the desktop
or shadow) and, the biggest problem, they don't rotate to follow along the
path of the motion, so those butterflys are flying backward and sideways
most of the time. This made me want to try my own approach. To overcome
those problems I simulate the flapping animation by scaling PNG images,
one for each wing, so I can render light and shadow according to rotation.
The drop shadow is a separate image that can be dimmed or dismissed. Add
to this the 5 models and the total control over motion speed, flapping frequency
and the flying area, and you have a pretty nice toy to embellish your desktop...
Note: No butterflies were hurt during the making of this widget.
|+ realistic movement;
+ drop shadow;
+ wings illumination;
+ motion speed;
+ flapping frequency;
+ flying area;
+ simple custom area editor.
|+ fixed a bug in 'Go Beyond Screen' functions;
+ quick showing preferences on click can now be configurable; [in Behavior]
+ when 'Flying Area' is set to 'Custom Area (User Defined)', the custom area editor
can also be accesed from the right-click contextual menu.
|The source images for the blue and white models are from the Butterfly Utopia site and are used with permission. Copyright © ButterflyUtopia.com|
|Tips for reducing CPU usage...|
|Unfortunately, on slower computers, this widget
may take a lot of processing power... This is mainly caused by the intensive
use of rotation, so the butterfly will follow along the path of the motion.
If rotation is not used, the butterfly will move like a stiff kite, and
we don't want that...
To reduce the waste of CPU power, one can try the following:
- uncheck "Wings illumination";
- set "Drop Shadow" to None;
- set "Size" to Small;
- uncheck "Poof!" (if "Butterfly Model" is set to "Random");
- set "Frame Rate" to 8.