That would be great! I am writing an xml/yaml shoes ruby everything-based virtual social world ;-) Whew. A sprite class would help me with the moving of the char.
On Sat, Jul 12, 2008 at 8:06 AM, Eric K Idema <[EMAIL PROTECTED]> wrote: > 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] > >
