Adding sound effects
Video: Adding sound effectsSound effects add an element or fun to your games you can't get any other way. So let's add sound effects to the jumping animation for the character. To start out we're going to look for some sounds in the Library to export them for ActionScript. So open up the Library and find BailSound.mp3. Right-click it and choose Properties, check the Export for ActionScript box, and then change BailSound.mp3 for the class name to just Bail.
Viewers: in countries Watching now:
In this course, Todd Perkins shows how to use Flash Professional CS5 to create a game to play on iOS devices, utilizing device hardware like the accelerometer and integration with a local database. The course covers the game development from start to finish, including planning and preparation, character and background animation, creating interactions and scoring mechanism, and finally testing and publishing the app. Exercise files are included with the course.
- Optimizing assets
- Planning game play and viewing class structure
- Making the character move and jump
- Adding sound effects
- Adding accelerometer support
- Creating reusable classes
- Looping background animations
- Detecting collisions
- Using a timer
- Increasing scrolling speed
- Acquiring testing certificates and provisioning profiles
- Troubleshooting performance issues
- Submitting to the App Store
Adding sound effects
Sound effects add an element or fun to your games you can't get any other way. So let's add sound effects to the jumping animation for the character. To start out we're going to look for some sounds in the Library to export them for ActionScript. So open up the Library and find BailSound.mp3. Right-click it and choose Properties, check the Export for ActionScript box, and then change BailSound.mp3 for the class name to just Bail.
Click OK and then click OK again to close the warning window that says Flash is going to create the Bail class for you. Remember, it's a subclass of the Sound class so it has all the properties and methods that the Sound class has. So we'll go to JumpSound.mp3 and we'll do the same thing. Right-click, choose Properties, check Export for ActionScript, you may have to click the Advanced button to reveal that, change the Class to Jump. Click OK and OK again and jump over to Boarder.as, and here we'll create a couple of new properties.
Create a public property called bailSound, data type it to Bail, that's the exported class. Create another public property called jumpSound, data type it to Jump, and finally create another public property called soundControl. Data type it to SoundChannel. This is going to be the object that controls all the sounds that play. In the constructor, we'll create new instances of Jump and Bail using our properties.
So right below where we create the Accelerometer in the constructor, type bailSound = new Bail and the same thing for jumpSound. So jumpSound = new Jump. Scroll down to the bottom of your code and below the jump method create another private method called controlAudio. In the parentheses type (and:Sound), :void for no return data, and some curly braces.
So when we run controlAudio, we're going to pass in a sound object. So it's going to be either the jumpSound or the bailSound and this method is going to make this sound play, and it's going to set its volume. So the first thing you're going to do is create a variable to hold the SoundTransform object that we can use to control volume. So create a variable called trans, data type it to SoundTransform. We'll set to a new SoundTransform, and in the parentheses type 0.5.
That's the volume of the sounds. So it goes between zero and one. Anything above zero or below one is going to get distorted. So go to the next line and type soundControl = snd.play. That's the sound that was passed in, and we'll start at the beginning. So the first parameter startTime, which is a number. We'll set it to zero. Second is loop, so we don't it want to loop, so we'll put zero and third is a SoundTransform. We'll type in trans and close up the parentheses and type a semicolon.
Now when you test the movie when you have it like this, you might find that the sounds overlap, because every time you run the controlAudio method, you're creating a new SoundChannel object with your sound property. So to make sure we've better control over that, above var trans, create an if statement to see if the SoundChannel object already exists. If so, we'll destroy it so we're not overlapping creating a new sound object every time. So in here we'll check to see if soundControl exists, then we'll type soundControl.stop, so we'll stop the playing sound and then we'll set soundControl = null.
Now the last thing we want to do is run the controlAudio method. We'll do that right under isJumping = true in the jump method. So type controlAudio and the parentheses pass in jumpSound. Save the file and test the movie to hear the jump sound when you make the character jump. (Music Playing) There we go. (Zoop, zoop!) See how much more fun it is now? So to add sound, you just simply create a SoundChannel object and you set it equal to the playing sound.
If you want to apply volume to it, you can add that in the play method by passing in an instance of the SoundTransform class.
There are currently no FAQs about Flash Professional CS5: Creating a Simple Game for iOS Devices.