Final Project | Calligraphy Workshop
For this project I set out to create an interactive "workshop" introducing Arabic script calligraphy. I determined that the best way (and most
faithful to the letterforms) was to create a draggable puzzle, where the users could "break apart" different words in Arabic calligraphy, look
at them,
put them back together again,
and then (as a sort of "prize,")
at the end they would be given an entire phrase, with a little bit more
cultural
context.
The most challenging part of this project was creating the drag and drop and solve button classes. I did not use a document class for the
majority
of my code (just for the background sound),
which perhaps I should have; instead, most of the code is tied to specific items on the
page. After painstakingly bringing
in the
37 layers
for the "animation" of the words from Illustrator, and copying, naming and linking the 37
copies of those layers for the puzzle
targets, I think
the main thing I learned was to
type
carefully!
At first I tried to use a MOUSE_UP event listener to hitTest the puzzle pieces, but it conflicted with another mouse-up event listener used
for the
drag-and-drop. So I ended up using the hitTestPoint method. Each piece of the puzzle has point variables set up for the hit test.
When the hit test is
successful, rather than moving the piece into place in the word outline, I removed the puzzle piece and raised the alpha
of the target piece to 1 (from 0).
Further enhancements that I was planning to make (but couldn't get to work and ran out of time) include adding a count variable for the
puzzle pieces, so that when the user finishes each word he or she gets a congratulatory message. I'd also like the "solve" button to be
able to clear all the graphics and "re-start" the puzzle game. Right now if you push the solve button a second time it brings back the word
outline (in case you clicked on "re-draw" and the outline went away), but it doesn't remove and then re-add the puzzle graphics. Ultimately,
though, I'm happy I was able to get this far.
Happy summer, everyone!
~Elisabeth