200 likes | 322 Vues
Explore the fascinating interplay between gaming and user experience in this ActionScript 3 tutorial. Utilizing the “random_answer.fla” file, you'll learn how to implement a dynamic fortune teller that generates diverse responses including “Yes,” “No,” and “Ask again later.” We'll walk through the construction of an interactive animation, which allows users to engage with a series of scripted options. Dive into Flash sound integration with "jukebox.fla" and understand the nuances of linking dynamic text areas in multiple clips. Unleash creativity and learn how games reflect cultural narratives!
E N D
"The games of a people reveal a great deal about them.“ Marshall McLuhan Intro to Action Script 3
Review the random_answer.fla movie from the Pickup folder. Random function – random_answer.fla
The text buttons is a Dynamic Text linked to a variable “fortune” Random function – random_answer.fla
The invisible button contains all the scripts. 1. Array of the possible answers on (release) { // make list of possible responses responses = new Array(); responses.push("Yes"); responses.push("No"); responses.push("Ask again later"); responses.push("It is certain"); responses.push("Doubtful"); responses.push("Probably"); responses.push("The answer is unclear"); responses.push("Of course not!"); responses.push("Certainly!"); responses.push("It looks positive"); responses.push("It looks negative"); // get number of responses n = responses.length; // pick random response r = Int(Math.random()*n); // place response in text area fortune = responses[r]; // start animation gotoAndPlay(2); } Random function – random_answer.fla
The invisible button contains all the scripts. 1. Array of the possible answers on (release) { // make list of possible responses responses = new Array(); responses.push("Yes"); responses.push("No"); responses.push("Ask again later"); responses.push("It is certain"); responses.push("Doubtful"); responses.push("Probably"); responses.push("The answer is unclear"); responses.push("Of course not!"); responses.push("Certainly!"); responses.push("It looks positive"); responses.push("It looks negative"); // get number of responses n = responses.length; // pick random response r = Int(Math.random()*n); // place response in text area fortune = responses[r]; // start animation gotoAndPlay(2); } Random function – random_answer.fla
The array can also be a simple collection of variables: on (release) { // make list of possible responses responses = new Array("Yes", "No", "Ask again later", "It is certain", "Doubtful", "Probably", "The answer is unclear", "Of course not!", "Certainly!","It looks positive", "It looks negative" ); Random function – random_answer.fla
// get number of responses n = responses.length; // pick random response r = Int(Math.random()*n); // place response in text area fortune = responses[r]; // start animation gotoAndPlay(2); } Random function – random_answer.fla
Flash supports .aiff, .mp3, .wav, sound formats Import sounds to the library Random function – jukebox.fla
Linkage Identifier: song1 Export for ActionScript Random function – jukebox.fla
10 identical movie clips with dynamic text areas “song name” Named 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Random function – jukebox.fla
10 identical movie clips with dynamic text areas “song name” Button script inside movie clip on (release) { _root.playSong(this._name); } Random function – jukebox.fla
10 identical movie clips with dynamic text areas “song name” Button script inside movie clip on (release) { _root.playSong(this._name); } Takes the name of the movie clip – “1” to “10” – And sends it to a “playSong” function at the root level. Used for each movie clip since the name is different each time This._name gets different results from different instances of the same movie clip as long as they named differently Random function – jukebox.fla
dynamic text areas “song name” linked to variable “text” stop action on the first frame Random function – jukebox.fla
The text for each movie clip instance is changed Each instance displays a different song name Even though we have one movie clip symbol in the library each instance looks different on the stage // set the song names this["1"].text = "Song Name 1"; this["2"].text = "Song Name 2"; this["3"].text = "Song Name 3"; this["4"].text = "Song Name 4"; this["5"].text = "Song Name 5"; this["6"].text = "Song Name 6"; this["7"].text = "Song Name 7"; this["8"].text = "Song Name 8"; this["9"].text = "Song Name 9"; this["10"].text = "Song Name 10"; stop(); Random function – jukebox.fla
// play new sound song = new Sound(); creates a sound object song.attachSound("song"+songnum); associates the sound in the library with this object song.start(); plays sound Random function – jukebox.fla
function playSong(songnum) { // stop the previous song, if any song.stop(); // turn off all lights for(i=1;i<=10;i++) { this[i].gotoAndStop(1); } // play new sound song = new Sound(); song.attachSound("song"+songnum); song.start(); // turn light on this[songnum].gotoAndStop(2); } // set the song names this["1"].text = "Song Name 1"; this["2"].text = "Song Name 2"; this["3"].text = "Song Name 3"; this["4"].text = "Song Name 4"; this["5"].text = "Song Name 5"; this["6"].text = "Song Name 6"; this["7"].text = "Song Name 7"; this["8"].text = "Song Name 8"; this["9"].text = "Song Name 9"; this["10"].text = "Song Name 10"; stop(); Random function – jukebox.fla
Create an interactive animation dice game with two dice and button “roll” to through them. Each dice has to display random number from 1 to 6 each time the button “roll” is clicked. If both dice show the same number, change the color property of each dice and play a song. Play randomly selected songs each time dice show the same number. Change each dice color on each roll. Play different song for each roll. Exercise – dice
myObjectColor = new Color(“movieclip_name") ; myObjectColor.setRGB(0xFFFFFF); Exercise – dice