Lab 4: Noisy Room
Click the on/off button to activate sound and visual effects.
Due May 5.
I. Overview
This fourth and final lab combines interactive, object-based sound with the triangulation tricks we've been learning recently, in order to simulate a complex sound environment, or noisy room. AS you move the mouse around the screen, each object computes proximity, and adjusts the volume of its associated sound accordingly. The objects also change scaling and opacity.
II. Assignment
We'll build the shell for this project, including basic sound playback and proximity computation, in class April 14. You must add (minimally) a mechanism to adjust sound volume in response to proximity. Since we're coming to the end of the journey, I will not give out the complete code for the basic version. I will, however, work with each of you to help you write it yourself.
The basic version is worth something between 85 and 90 (B+). It must include the following:
- Range sensing, so that no sound plays when the mouse pointer is outside a given pixel radius, which must be considerably smaller than the full screen.
- A volume gradient, so that the sound becomes louder while the mouse is in range, approaching the center of the object, and diminishes as the mouse moves away.
- Multiple operation, so sounds play simultaneously, and vary independently of one another. (You'll satisfy this requirement if you script your sound effects through sounderClass.)
III. Starter setup and architecture
To save some time and trouble, I will give out a starter set containing the sounds, the main movie, and the skeleton for a single class file, sounderClass.as.
The main movie, noisyRoom_START.fla, contains eight layers, each of which holds an instance of sounder_mc, which is defined in the Library, and linked to sounderClass. (Since your movie has already been populated, there is no need for a document class in this version.)
Assume that your sound files (MP3s) will be stored in the snd folder, which will be at the same level of the file structure as your published .SWF file.
IV. Enhancements
You are free to swap out or supplement the 8 sounds in the starter set. However, simply replacing sounds, or increasing the size of the sound set, may not in all cases represent a significant improvement over the basic version. Much depends on the reasoning behind these changes.
- 91-94
- Add further visual changes to the reference objects, ideally also tied to the proximity value. Use internal timeline animation, or some other approach.
- Replace the simple discs in the starter file with more interesting and appropriate graphics, and/or text. Again, think about ways to tie the visual appearance of the reference object to the volume/scaling changes.
- 95 and up
- Make the reference objects MEANINGFULLY draggable -- that is, connect the position of the object to some aspect of its sound behavior (offset? looping? left-right channel fade?).
- Animate the reference objects. If they leave the screen, they must also return or recycle. Obviously, our old bouncing-ball code may come in handy here; but think of other possibilities, too. What if the reference object pursues the mouse pointer, once it comes within a certain range?
As always, you are welcome to add ideas to this list.
Simple though it is, you may find that this exercise holds possibilities for further development as your final project. For instance, creating reference objects that stalk the mouse might lead you to create a game, or a bad-party simulator. Likewise, you might combine this project with the Pong-like possibilities of our first lab to create a sonic pinball machine, or perhaps a musical Breakout game.
Each of these ideas could conceivably take more develpment time than you have for this lab. However, they're probably not worth five weeks' work, so if you intend to build a final project based on Lab 4, submit the lab first (May 5), then your final project separately (May 19).
V. Specifications
Make sure you upload the snd folder to the Lab4 subfolder in your personal account on student-iat.
Perform a Publish operation on your .fla file, and rename the resulting HTML file index.html. Edit the HTML page, adding a paragraph or two describing any features of your project of which you are especially proud. This step is crucial if you want something higher than the B+.
Upload the index page, and the AC_RunActiveContent.js file generated when you Publish, to Lab4.
Also upload your .swf file, your .fla file, and any .as files you created.
VI. Source files
In the lab04 folder in MULTIMEDIA on student-iat, you'll find the components needed to get started: the snd folder, containing the 8 MP3 files, the main movie, noisyRoom_START.fla, and the skeleton class file, sounderClass.as.
|
|