0
votes

my current situation maybe akin to me painting myself into a corner.

i have many vector shapes drawn with the Flash Professional CS5 IDE, which have been converted into sprite objects and exported to actionscript. for example, here are 3 shapes:

enter image description here

i want to programatically fill each shape with a bitmap from my library. i realize i can fill these shapes with library bitmaps in the IDE, but i need to scale the bitmaps at runtime as well as swap them out for others.

how is it possible to programatically bitmap-fill shapes drawn within the IDE at runtime without having to also programatically redraw them?

1

1 Answers

2
votes

what about using your shapes as masks rather than going through a painful on the fly drawing process ?

it would go like :

bitmap.mask = shape;

as long as shape is a DisplayObject, it should work.

otherwise you can still use a JSFL to export your shapes, store them as arrays of points and draw them at runtime. here's a basic JSFL export tool http://ericlin2.tripod.com/bugwire/bugwiret.html

here's an advanced JSFL tool: http://www.lidev.com.ar/?p=192

here's a ( shamelessly self-promoting :) ) example of an application: http://en.nicoptere.net/?p=1331

[EDIT] NB when compiled, your vector shapes are turned into opcode, a set of instructions that you can't read easily.

it remains possible though: http://wahlers.com.br/claus/blog/hacking-swf-1-shapes-in-flash/ but still it's a bit complex if the same result can be achieived with masks :)