First, thanks to everyone who helped me out during yesterday's ShoesFest.  I
had a lot of fun.  If you didn't see it, this was my ShoesFest project:

  http://the-shoebox.org/apps/60

The code is here:

  http://github.com/eki/shoesfest/tree/master

Some parts of the code are a little sloppier than I'd like, but it was a one
day effort to build a UI for a library I already had.

For the next ShoesFest I'm thinking about working on a Sprite widget.  Goals:

  *  Animated movement
    * nudge -- give the sprite a little push, it'd eventually slow to a stop,
               potentially useful with keyboard input
    * ease  -- move the sprite to a given point, the sprite would slow down
               as it reaches it's destination (ease into place)
    * travel -- set the sprite in motion in a given direction at a given
                speed.  It would continue moving indefintely
    * soft_stop -- slow to a stop
    * hard_stop -- stop immediately

For animated movement, it would be helpful to be able to read the (x,y)
coordinates of an imageblock (I plan on backing the Sprite with an 
imageblock).  If it's not there, though, it's not a big deal, I can store (x,y)
separately in the Sprite.

Also, is it possible, from a Widget, to get it's parent?  Whether a Stack,
Flow, or Shoes::App?  This would be useful for bounding the Sprite's motion.

Is it possible to get siblings?  Like, say we have a Sprite in a Stack that
also contains, say, a Wall Widget.  It'd be nice if the Sprite could find it's
sibling the Wall and bounce off it.

  * Animated show / hide
    * fade -- Change the opacity of the Sprite so it fades away
    * appear -- Change the opacity of the Sprite so it gradually appears

It'd be super handy if the existing show / hide mehtods took a time parameter
and handled animation themselves.  Short of that, it'd help to be able read
the children of an imageblock and each child's opacity (fill / stroke).  If we
can't read fill / stroke, it'll be tough to write general code for this.  It'd
be nice to be able to change fill / stroke, but I could write the code to
redraw each child with adjusted fill / stroke.

  * Color shift
    -- gradually change a given color into another color.  This would sort of
       be a generalization of fade / appear, but we could apply the change to
       parts of a Sprite.  Say, a Sprite is composed of several rects and 
       ovals, it'd be cool to change all the blue rects and ovals to red while
       leaving the other colors alone.

That's probably more than enough to try to accomplish on a single day.  To wrap
it up, if the following could be added to Shoes it'd be greatly appreciated:

  * Read (x,y) coords of imageblocks (and Shapes, Images, etc as a bonus)
  * Read fill / stroke 
  * Bug fix for the imageblock.clear crash
  * Navigate parent, children, siblings for Widgets (actually, maybe we can
    already do this?)
  * Change fill / stroke (not necessary)

Thanks again to everyone who made the first ShoesFest so much fun!

Eric

-- 
[EMAIL PROTECTED]

Reply via email to