On 08/22/2013 03:53 AM, Jack wrote:
Le 22/08/2013 07:13, Jonathan Wilkes a écrit :
Hi list,

I've got some updates to [canvasinfo], [pdinfo], and [classinfo] that I'll put in a demo build either tomorrow or the next day.

I also added a new data structure class with two creators:
[drawimage] - draw an image on a canvas
[drawsprite] - draw a sprite on a canvas

The [drawsprite] object takes the name of a directory containing an image sequence and loads the images into tcl/tk memory when the object gets created. A ds float field can then be associated with that image so that when you change its value it jumps to that image in the sequence. I used the code from [drawnumber], so you can even animate the sprite by clicking
and dragging on the image.

Since all the images are preloaded into tcl/tk, animating them is fairly straightforward-- tk just clears the old image and copies the new one from one of the images it has in memory.

Of course the upshot is fairly obvious-- we can finally have ponies running around inside Pure
Data patches.

E.g., thanks to this:
http://friendshipismagic.smackjeeves.com/comics/1223051/female-pony-base-sprites/

I can now do this:
https://puredata.info/Members/jancsika/omgponies.webm/view

I just added the "realtime code selection" as an afterthought using [cnv] objects. However, it would be neat to be able to group code and highlight it programmatically as the data is flowing.

-Jonathan


_______________________________________________
Pd-list@iem.at  mailing list
UNSUBSCRIBE and account-management ->http://lists.puredata.info/listinfo/pd-list

Very funny animation, we can now design platform games directly in a patch. ! ;) More seriously, it could replace the [#see] object from gridflow, interresting...
++

As I understand it, [#see] is much more powerful because it's visualizing stuff created from gridflow computations on the fly. But it's probably also much slower
for that same reason.

One drawback to [drawsprite] is if you wanted to abuse it to draw a large image sequence-- say a video clip-- you're going to use a ton of memory loading the images into wish's memory. And by default tcl/tk doesn't free that memory back to the OS. However it does free it up within tcl/tk when the corresponding [drawsprite] is deleted-- so if you delete it and undo a bunch of times it won't consume more memory than it did
in the first place.

But for small sprites this isn't really an issue, and once the images are loaded it is very
cheap to copy/cut the scalar images on a canvas.

-Jonathan


Jack




_______________________________________________
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list

_______________________________________________
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list

Reply via email to