How to use an embedded text file in Flash

The opportunity to win up to $7000 with “Word Play” Flash Game Contest ends in 20 days, and I already showed you how to embed a text file in Flash.

Now it’s time to make something useful out of it.

In this script, you will learn something about dynamic text fields styling, input text fields and arrays.

All in one.

First, and seen in How to embed a text file in Flash post, you need to embed the text file… this time I am using a comma separated file, like this:

aa,aah,aahed,aahing,...,zymurgy,zyzzyva,zyzzyvas

and I am embedding it in the same old way:

1
2
3
4
5
6
7
8
9
10
package {
	import flash.utils.ByteArray;
	// assuming that words.txt is the name of your text file
	// and it's stored in the same directory of your flash file
	[Embed(source="words.txt",mimeType="application/octet-stream")]
	public class embedded_text extends ByteArray {
		public function embedded_text() {
		}
	}
}

Now, the main file will hold the “game”… you have to write a word… if the word exists in the text file, then the textarea background color will turn to green, if the word does not exist, the textarea background will turn to red.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package {
	import flash.display.Sprite;
	import flash.text.TextField;
	import flash.text.TextFieldType;
	import flash.text.TextFormat;
	import flash.events.Event;
	public class wordz extends Sprite {
		// creation of a new text field
		var text_field:TextField = new TextField();
		// importing the text file
		var words:embedded_text = new embedded_text();
		// creating a new text format
		var text_format:TextFormat = new TextFormat();
		// the array where we will store all words contained in the text file
		var words_array:Array = new Array();
		public function wordz() {
			// adding the text field to stage
			addChild(text_field);
			// making it an input text
			text_field.type=TextFieldType.INPUT;
			// defining its size and position
			text_field.x=20;
			text_field.y=20;
			text_field.width=460;
			text_field.height=30;
			// defining its format
			text_field.background=true;
			text_field.text="write a word";
			text_field.border=true;
			text_format.color=0x000000;
			text_format.size=24;
			text_field.setTextFormat(text_format);
			// splitting the text file removing the commas ","
			// and inserting words into the array
			words_array=words.toString().split(",");
			// listener for the text to change
			text_field.addEventListener(Event.CHANGE,on_input);
		}
		public function on_input(e:Event) {
			// looking for the position of the text field content
			// into the array of words
			var position:int=words_array.indexOf(text_field.text);
			if (position>-1) {
				// if the word exists...
				text_field.backgroundColor=0x00ff00;
			} else {
				// if not...
				text_field.backgroundColor=0xff0000;
			}
		}
	}
}

And this is the result… type something in the text area and if it’s a valid word, the background will turn to green.

Yes, checking for word match is that easy… now it’s up to you designing a great game and grab the prize.

Download the full source code, word list included

Rate this post: 1 Star2 Stars3 Stars4 Stars5 Stars (10 votes, average: 4.50 out of 5)
Loading ... Loading ...
Flash Templates provided by Template Monster are pre-made web design products developed using Flash technology.
They can be easily customized to meet the unique requirements of your project.
Be my fan on Facebook and follow me on Twitter! Exclusive content for my Facebook fans and Twitter followers

This post has 11 comments

  1. Gabriel Bianconi

    on July 24, 2009 at 7:45 pm

    “ends in 20 days”

    They changed the date, I think…

    Look: http://www.mochimedia.com/contest/may09

  2. Emanuele Feronato

    on July 24, 2009 at 8:29 pm

    hmmm nobody told me anything… it’s time to fire some Mochi’s PR….

  3. RGriffoGoes

    on July 25, 2009 at 5:19 am

    Nice… as all posts! being following this blog for a while, very good stuff.

    You could use the “trie” data structure to search throught the wordlist as I guess “indexOf” probably uses a sequential search (O(n)). Although you would have to build a huge trie…..

    Keep posting good stuff! :D

  4. How to use an embedded text file in Flash : Emanuele Feronato

    on July 27, 2009 at 11:17 pm

    [...] script is the same as How to use an embedded text file in Flash using the method described in Trie Data Structure in Actionscript [...]

  5. Bob

    on August 4, 2009 at 12:12 am

    Hi Emanuele,

    I was wondering if it is O.K. if I use your word list to enter the word play contest. If not, could you maybe make a tut on how to use the provided word list. I tried using the “\n” to split the file, but that doesn’t seem to work…

    Thanks.

  6.   How to use an embedded text file in Flash – Trie edition by Blam Yo!

    on August 5, 2009 at 1:44 am

    [...] script is the same as How to use an embedded text file in Flash using the method described in Trie Data Structure in Actionscript [...]

  7. Wyatt

    on August 6, 2009 at 1:54 am

    Emanuele,

    I was wondering the same thing as Bob. Would it be OK to use your source? How would you use the supplied word list?

    Any help is appreciated. :D

  8. Emanuele Feronato

    on August 7, 2009 at 10:27 am

    Sure, use it as you want.

  9. Wyatt

    on September 13, 2009 at 12:31 am

    Sorry this is a little late, but:

    Do you want credit for the word list in the game?

  10. Wyatt

    on September 19, 2009 at 2:02 am

    Sorry, the above question was kind of unreasonable. Of course I should credit you!

  11. zyxstand

    on December 22, 2010 at 10:48 am

    definitely one of the more useful tools i’ve seen!