<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Flash Game Tuts &#187; AS2</title>
	<atom:link href="http://www.flashgametuts.com/tutorials/category/as2/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.flashgametuts.com</link>
	<description>Free Flash Game Tutorials in AS2 and AS3</description>
	<lastBuildDate>Wed, 29 Jul 2009 14:43:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>How to Create a Tower Defense Game in AS2 &#8211; Part 7</title>
		<link>http://www.flashgametuts.com/tutorials/advanced/how-to-create-a-tower-defense-game-in-as2-part-7/</link>
		<comments>http://www.flashgametuts.com/tutorials/advanced/how-to-create-a-tower-defense-game-in-as2-part-7/#comments</comments>
		<pubDate>Sat, 25 Jul 2009 12:07:48 +0000</pubDate>
		<dc:creator>Mr Sun</dc:creator>
				<category><![CDATA[AS2]]></category>
		<category><![CDATA[Advanced]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[defense]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[tower]]></category>
		<category><![CDATA[tower defense]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.mrsunstudios.com/?p=1534</guid>
		<description><![CDATA[Welcome back! This part of the tutorial is where we just add all of the finishing touches to the game! Unlike the other parts of the tutorial, I won&#8217;t comment any of the code I give you, as the knowledge you have learned from this tutorial should tell you what&#8217;s going on. Luckily for you, [...]]]></description>
			<content:encoded><![CDATA[<p>Welcome back! This part of the tutorial is where we just add all of the finishing touches to the game! Unlike the other parts of the tutorial, I won&#8217;t comment any of the code I give you, as the knowledge you have learned from this tutorial should tell you what&#8217;s going on. Luckily for you, there aren&#8217;t too many finishing touches for us to make, so your brain won&#8217;t hurt too much.</p>
<p>Now, what can we add to our little game? The answer is: it&#8217;s up to you to decide what to add. It&#8217;s also up to you to use what you&#8217;ve learned to do it right. Thank you and good night.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flashgametuts.com/tutorials/advanced/how-to-create-a-tower-defense-game-in-as2-part-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Create a Tower Defense Game in AS2 &#8211; Part 6</title>
		<link>http://www.flashgametuts.com/tutorials/advanced/how-to-create-a-tower-defense-game-in-as2-part-6/</link>
		<comments>http://www.flashgametuts.com/tutorials/advanced/how-to-create-a-tower-defense-game-in-as2-part-6/#comments</comments>
		<pubDate>Sat, 25 Jul 2009 12:06:07 +0000</pubDate>
		<dc:creator>Mr Sun</dc:creator>
				<category><![CDATA[AS2]]></category>
		<category><![CDATA[Advanced]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[defense]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[tower]]></category>
		<category><![CDATA[tower defense]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.mrsunstudios.com/?p=1531</guid>
		<description><![CDATA[Welcome to the 6th part of the tutorial, Expanding on the Game! Well, what do I mean by &#8220;Expanding&#8221;? Well, by expanding, I mean that we&#8217;re going to create more enemies and more levels. Sounds pretty cool, doesn&#8217;t it? Open up &#8220;source.fla&#8221; and find the makeEnemies function. We&#8217;re going to have some major renovations to [...]]]></description>
			<content:encoded><![CDATA[<p>Welcome to the 6th part of the tutorial, Expanding on the Game! Well, what do I mean by &#8220;Expanding&#8221;? Well, by expanding, I mean that we&#8217;re going to create more enemies and more levels. Sounds pretty cool, doesn&#8217;t it?</p>
<p>Open up &#8220;source.fla&#8221; and find the <tt>makeEnemies</tt> function. We&#8217;re going to have some major renovations to this functions. Just replace the function with this new code:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> makeEnemies<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Void</span><span style="color: #66cc66;">&#123;</span><span style="color: #808080; font-style: italic;">//this function will add enemies to the field</span>
	<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>enemyTime <span style="color: #66cc66;">&amp;</span>lt; enemyLimit<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span><span style="color: #808080; font-style: italic;">//if it isn't time to make them yet</span>
		enemyTime ++;<span style="color: #808080; font-style: italic;">//then keep on waiting</span>
	<span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #66cc66;">&#123;</span><span style="color: #808080; font-style: italic;">//otherwise</span>
		<span style="color: #000000; font-weight: bold;">var</span> theCode:<span style="color: #0066CC;">Number</span> = enemyArray<span style="color: #66cc66;">&#91;</span>currentLvl-<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span>currentEnemy<span style="color: #66cc66;">&#93;</span>;<span style="color: #808080; font-style: italic;">//get the code from the array</span>
		<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>theCode <span style="color: #66cc66;">!</span>= <span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">&amp;</span>amp;<span style="color: #66cc66;">&amp;</span>amp; theCode <span style="color: #66cc66;">!</span>= <span style="color: #000000; font-weight: bold;">null</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span><span style="color: #808080; font-style: italic;">//if it's not set at 0</span>
			<span style="color: #808080; font-style: italic;">//then create a new enemy and add it to the enemy holder</span>
			enemyHolder.<span style="color: #0066CC;">createEmptyMovieClip</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy,enemyHolder.<span style="color: #0066CC;">getNextHighestDepth</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
			<span style="color: #808080; font-style: italic;">//now we're going to draw the enemy. It'll just be a tiny red circle</span>
			enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">beginFill</span><span style="color: #66cc66;">&#40;</span>0xFF0000<span style="color: #66cc66;">&#41;</span>;<span style="color: #808080; font-style: italic;">//coloring them red gray</span>
			enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">moveTo</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">2.5</span><span style="color: #66cc66;">&#41;</span>;<span style="color: #808080; font-style: italic;">//move the entire shape a certain way</span>
			<span style="color: #808080; font-style: italic;">//create 4 curves so that it'll look like a circle</span>
			enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">curveTo</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">10</span>,<span style="color: #cc66cc;">5</span>,<span style="color: #cc66cc;">10</span><span style="color: #66cc66;">&#41;</span>;
			enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">curveTo</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">10</span>,<span style="color: #cc66cc;">10</span>,<span style="color: #cc66cc;">10</span>,<span style="color: #cc66cc;">5</span><span style="color: #66cc66;">&#41;</span>;
			enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">curveTo</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">10</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">5</span>,<span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>;
			enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">curveTo</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">5</span><span style="color: #66cc66;">&#41;</span>;
			enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">endFill</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<span style="color: #808080; font-style: italic;">//end the fill</span>
&nbsp;
			<span style="color: #808080; font-style: italic;">//add a few variables to the enemy</span>
			enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">enLevel</span> = theCode;<span style="color: #808080; font-style: italic;">//setting its level to be what # it is</span>
			enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">maxSpeed</span> = <span style="color: #cc66cc;">3</span>;<span style="color: #808080; font-style: italic;">//how fast it can possibly go</span>
			enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">xSpeed</span> = <span style="color: #cc66cc;">0</span>;
			enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">ySpeed</span> = <span style="color: #cc66cc;">0</span>;
			enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">health</span> = <span style="color: #cc66cc;">5</span><span style="color: #66cc66;">*</span>theCode;
&nbsp;
			<span style="color: #808080; font-style: italic;">//checking what the start direction is</span>
			<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">_root</span>.<span style="color: #006600;">startDir</span> == <span style="color: #ff0000;">'UP'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span><span style="color: #808080; font-style: italic;">//if it's starting up</span>
				enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_y</span> = <span style="color: #cc66cc;">300</span>;<span style="color: #808080; font-style: italic;">//set the y value off the field</span>
				enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_x</span> = <span style="color: #0066CC;">_root</span>.<span style="color: #006600;">startCoord</span>;<span style="color: #808080; font-style: italic;">//make the x value where it should be</span>
				enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">xSpeed</span> = <span style="color: #cc66cc;">0</span>;<span style="color: #808080; font-style: italic;">//make it not move horizontally</span>
				enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">ySpeed</span> = -enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">maxSpeed</span>;<span style="color: #808080; font-style: italic;">//make it move upwards</span>
			<span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">_root</span>.<span style="color: #006600;">startDir</span> == <span style="color: #ff0000;">'RIGHT'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span><span style="color: #808080; font-style: italic;">//and so on for other directions</span>
				enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_x</span> = -<span style="color: #cc66cc;">25</span>;
				enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_y</span> = <span style="color: #0066CC;">_root</span>.<span style="color: #006600;">startCoord</span>;
				enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">xSpeed</span> = enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">maxSpeed</span>;
				enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">ySpeed</span> = <span style="color: #cc66cc;">0</span>;
			<span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">_root</span>.<span style="color: #006600;">startDir</span> == <span style="color: #ff0000;">'DOWN'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
				enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_y</span> = -<span style="color: #cc66cc;">25</span>;
				enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_x</span> = <span style="color: #0066CC;">_root</span>.<span style="color: #006600;">startCoord</span>;
				enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">xSpeed</span> = <span style="color: #cc66cc;">0</span>;
				enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">ySpeed</span> = enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">maxSpeed</span>;
			<span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">_root</span>.<span style="color: #006600;">startDir</span> == <span style="color: #ff0000;">'LEFT'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
				enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_x</span> = <span style="color: #cc66cc;">550</span>;
				enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_y</span> = <span style="color: #0066CC;">_root</span>.<span style="color: #006600;">startCoord</span>;
				enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">xSpeed</span> = -enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">maxSpeed</span>;
				enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">ySpeed</span> = <span style="color: #cc66cc;">0</span>;
			<span style="color: #66cc66;">&#125;</span>
&nbsp;
			enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_x</span> += <span style="color: #cc66cc;">5</span>;<span style="color: #808080; font-style: italic;">//fixing the x value</span>
			enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_y</span> += <span style="color: #cc66cc;">5</span>;<span style="color: #808080; font-style: italic;">//fixing up the y value</span>
&nbsp;
			enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">onEnterFrame</span> = <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span><span style="color: #808080; font-style: italic;">//give it some functions</span>
				<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_x</span> += <span style="color: #0066CC;">this</span>.<span style="color: #006600;">xSpeed</span>;
				<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_y</span> += <span style="color: #0066CC;">this</span>.<span style="color: #006600;">ySpeed</span>;
&nbsp;
				<span style="color: #808080; font-style: italic;">//checking what direction it goes when finishing the path</span>
				<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">_root</span>.<span style="color: #006600;">finDir</span> == <span style="color: #ff0000;">'UP'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span><span style="color: #808080; font-style: italic;">//if it finishes at the top</span>
					<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_y</span> <span style="color: #66cc66;">&amp;</span>lt;= -<span style="color: #cc66cc;">25</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span><span style="color: #808080; font-style: italic;">//if the y value is too high</span>
						<span style="color: #0066CC;">_root</span>.<span style="color: #006600;">lives</span> --;<span style="color: #808080; font-style: italic;">//take away a life</span>
						<span style="color: #0066CC;">_root</span>.<span style="color: #006600;">money</span> -= <span style="color: #cc66cc;">5</span><span style="color: #66cc66;">*</span><span style="color: #0066CC;">this</span>.<span style="color: #006600;">enLevel</span>;<span style="color: #808080; font-style: italic;">//don't let the player gain any money</span>
						<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">removeMovieClip</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<span style="color: #808080; font-style: italic;">//take it away from the stage</span>
					<span style="color: #66cc66;">&#125;</span>
				<span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">_root</span>.<span style="color: #006600;">finDir</span> == <span style="color: #ff0000;">'RIGHT'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span><span style="color: #808080; font-style: italic;">//and so on for other directions</span>
					<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_x</span> <span style="color: #66cc66;">&amp;</span>gt;= <span style="color: #cc66cc;">550</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
						<span style="color: #0066CC;">_root</span>.<span style="color: #006600;">lives</span> --;
						<span style="color: #0066CC;">_root</span>.<span style="color: #006600;">money</span> -= <span style="color: #cc66cc;">5</span><span style="color: #66cc66;">*</span><span style="color: #0066CC;">this</span>.<span style="color: #006600;">enLevel</span>;
						<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">removeMovieClip</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
					<span style="color: #66cc66;">&#125;</span>
				<span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">_root</span>.<span style="color: #006600;">finDir</span> == <span style="color: #ff0000;">'DOWN'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
					<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_y</span> <span style="color: #66cc66;">&amp;</span>gt;= <span style="color: #cc66cc;">300</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
						<span style="color: #0066CC;">_root</span>.<span style="color: #006600;">lives</span> --;
						<span style="color: #0066CC;">_root</span>.<span style="color: #006600;">money</span> -= <span style="color: #cc66cc;">5</span><span style="color: #66cc66;">*</span><span style="color: #0066CC;">this</span>.<span style="color: #006600;">enLevel</span>;
						<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">removeMovieClip</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
					<span style="color: #66cc66;">&#125;</span>
				<span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">_root</span>.<span style="color: #006600;">startDir</span> == <span style="color: #ff0000;">'LEFT'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
					<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_x</span> <span style="color: #66cc66;">&amp;</span>lt;= <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
						<span style="color: #0066CC;">_root</span>.<span style="color: #006600;">lives</span> --;
						<span style="color: #0066CC;">_root</span>.<span style="color: #006600;">money</span> -= <span style="color: #cc66cc;">5</span><span style="color: #66cc66;">*</span><span style="color: #0066CC;">this</span>.<span style="color: #006600;">enLevel</span>;
						<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">removeMovieClip</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
					<span style="color: #66cc66;">&#125;</span>
				<span style="color: #66cc66;">&#125;</span>
&nbsp;
				<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>.<span style="color: #006600;">health</span> <span style="color: #66cc66;">&amp;</span>lt;= <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
					<span style="color: #0066CC;">_root</span>.<span style="color: #006600;">enemiesLeft</span> --;
					<span style="color: #0066CC;">_root</span>.<span style="color: #006600;">money</span> += <span style="color: #cc66cc;">5</span><span style="color: #66cc66;">*</span><span style="color: #0066CC;">this</span>.<span style="color: #006600;">enLevel</span>;
					<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">removeMovieClip</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
				<span style="color: #66cc66;">&#125;</span>
			<span style="color: #66cc66;">&#125;</span>
		<span style="color: #66cc66;">&#125;</span>
		currentEnemy ++;<span style="color: #808080; font-style: italic;">//move on to the next enemy</span>
		enemyTime = <span style="color: #cc66cc;">0</span>;<span style="color: #808080; font-style: italic;">//and reset the time</span>
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>There aren&#8217;t very many renovations that we&#8217;ve made, but they will make our code much more flexible. It allows us to create different enemy levels by setting the <tt>enLevel</tt> to be equal to the code that is placed into the enemy array. The <tt>enLevel</tt> in turn lets us dynamically change the amount of health the enemy has and the amount of money that it gives you when you kill it. Right now the health and money it gives you is 5 times the enemy level.</p>
<p>Now, we can make more levels with better enemies! You can customize your own levels, or use the ones I created by setting these values in the <tt>enemyArray</tt>:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">enemyArray = <span style="color: #66cc66;">&#91;</span><span style="color: #808080; font-style: italic;">//defining the array</span>
			<span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#93;</span>,<span style="color: #808080; font-style: italic;">//1's will just represent an enemy to be created</span>
			<span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">2</span>,<span style="color: #cc66cc;">2</span>,<span style="color: #cc66cc;">2</span>,<span style="color: #cc66cc;">2</span>,<span style="color: #cc66cc;">2</span>,<span style="color: #cc66cc;">2</span>,<span style="color: #cc66cc;">2</span>,<span style="color: #cc66cc;">2</span>,<span style="color: #cc66cc;">2</span>,<span style="color: #cc66cc;">2</span>,<span style="color: #cc66cc;">2</span>,<span style="color: #cc66cc;">2</span>,<span style="color: #cc66cc;">2</span>,<span style="color: #cc66cc;">2</span>,<span style="color: #cc66cc;">2</span>,<span style="color: #cc66cc;">2</span>,<span style="color: #cc66cc;">2</span>,<span style="color: #cc66cc;">2</span>,<span style="color: #cc66cc;">2</span>,<span style="color: #cc66cc;">2</span>,<span style="color: #cc66cc;">2</span>,<span style="color: #cc66cc;">2</span>,<span style="color: #cc66cc;">2</span>,<span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#93;</span>,<span style="color: #808080; font-style: italic;">//another row means another level</span>
			<span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">3</span>,<span style="color: #cc66cc;">3</span>,<span style="color: #cc66cc;">3</span>,<span style="color: #cc66cc;">3</span>,<span style="color: #cc66cc;">3</span>,<span style="color: #cc66cc;">3</span>,<span style="color: #cc66cc;">3</span>,<span style="color: #cc66cc;">3</span>,<span style="color: #cc66cc;">3</span>,<span style="color: #cc66cc;">3</span>,<span style="color: #cc66cc;">3</span>,<span style="color: #cc66cc;">3</span>,<span style="color: #cc66cc;">3</span>,<span style="color: #cc66cc;">3</span>,<span style="color: #cc66cc;">3</span>,<span style="color: #cc66cc;">3</span>,<span style="color: #cc66cc;">3</span>,<span style="color: #cc66cc;">3</span>,<span style="color: #cc66cc;">3</span>,<span style="color: #cc66cc;">3</span>,<span style="color: #cc66cc;">3</span>,<span style="color: #cc66cc;">3</span>,<span style="color: #cc66cc;">3</span>,<span style="color: #cc66cc;">3</span>,<span style="color: #cc66cc;">3</span>,<span style="color: #cc66cc;">3</span>,<span style="color: #cc66cc;">3</span><span style="color: #66cc66;">&#93;</span>,
			<span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">100</span><span style="color: #66cc66;">&#93;</span>,
			<span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">5</span>,<span style="color: #cc66cc;">6</span>,<span style="color: #cc66cc;">7</span>,<span style="color: #cc66cc;">6</span>,<span style="color: #cc66cc;">5</span>,<span style="color: #cc66cc;">6</span>,<span style="color: #cc66cc;">7</span>,<span style="color: #cc66cc;">6</span>,<span style="color: #cc66cc;">5</span>,<span style="color: #cc66cc;">6</span>,<span style="color: #cc66cc;">7</span>,<span style="color: #cc66cc;">6</span>,<span style="color: #cc66cc;">5</span>,<span style="color: #cc66cc;">6</span>,<span style="color: #cc66cc;">7</span>,<span style="color: #cc66cc;">6</span>,<span style="color: #cc66cc;">5</span>,<span style="color: #cc66cc;">6</span>,<span style="color: #cc66cc;">7</span>,<span style="color: #cc66cc;">6</span>,<span style="color: #cc66cc;">5</span>,<span style="color: #cc66cc;">6</span>,<span style="color: #cc66cc;">7</span>,<span style="color: #cc66cc;">6</span>,<span style="color: #cc66cc;">5</span>,<span style="color: #cc66cc;">6</span>,<span style="color: #cc66cc;">7</span>,<span style="color: #cc66cc;">6</span>,<span style="color: #cc66cc;">5</span><span style="color: #66cc66;">&#93;</span>,
			<span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">250</span>,<span style="color: #cc66cc;">250</span>,<span style="color: #cc66cc;">250</span><span style="color: #66cc66;">&#93;</span>
			  <span style="color: #66cc66;">&#93;</span>;</pre></div></div>

<p>Of course, I&#8217;d suggest creating your own levels, as mine aren&#8217;t what you would call the best. Anyways, this wraps up the second to last part of this tutorial. Join us next time when finish up this little game!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flashgametuts.com/tutorials/advanced/how-to-create-a-tower-defense-game-in-as2-part-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Create a Tower Defense Game in AS2 &#8211; Part 5</title>
		<link>http://www.flashgametuts.com/tutorials/advanced/how-to-create-a-tower-defense-game-in-as2-part-5/</link>
		<comments>http://www.flashgametuts.com/tutorials/advanced/how-to-create-a-tower-defense-game-in-as2-part-5/#comments</comments>
		<pubDate>Sat, 25 Jul 2009 12:05:40 +0000</pubDate>
		<dc:creator>Mr Sun</dc:creator>
				<category><![CDATA[AS2]]></category>
		<category><![CDATA[Advanced]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[defense]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[tower]]></category>
		<category><![CDATA[tower defense]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.mrsunstudios.com/?p=1519</guid>
		<description><![CDATA[Welcome back to the 5th installment of this tutorial series. In this lesson, we&#8217;ll make some playable levels, along with a winning and losing situation. Let&#8217;s dig in, shall we? Lets start off by opening up the main source file. Find where this code is: enemyArray = &#91;//defining the array &#91;1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1&#93;,//1's will just represent an [...]]]></description>
			<content:encoded><![CDATA[<p>Welcome back to the 5th installment of this tutorial series. In this lesson, we&#8217;ll make some playable levels, along with a winning and losing situation. Let&#8217;s dig in, shall we?</p>
<p>Lets start off by opening up the main source file. Find where this code is:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">enemyArray = <span style="color: #66cc66;">&#91;</span><span style="color: #808080; font-style: italic;">//defining the array</span>
			<span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#93;</span>,<span style="color: #808080; font-style: italic;">//1's will just represent an enemy to be created</span>
			<span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#93;</span>,<span style="color: #808080; font-style: italic;">//another row means another level</span>
			<span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#93;</span>
			  <span style="color: #66cc66;">&#93;</span>;</pre></div></div>

<p>Let&#8217;s review this code for a bit. Each of those arrays within that <tt>enemyArray</tt> represents a level. So, right now, we&#8217;re set up for 3 different levels, with an increasing amount of enemies in each level. Now that we&#8217;ve covered this, we can continue on to making it possible to advance levels.</p>
<p>In order to do this, we must first count the number of enemies we actually have on stage. This is actually very easy to do. Find the <tt>startGame()</tt> function (~line 45) that has no code in it, and add the following:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">enemiesLeft = enemyArray<span style="color: #66cc66;">&#91;</span>currentLvl-<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">length</span>;</pre></div></div>

<p>Now, we have to decrease this number every time an enemy is destroyed. We can do this by adding one line of code to where we remove the Enemy from the stage in the <tt>makeEnemies()</tt> function. Add the following code (~line 346):</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #0066CC;">_root</span>.<span style="color: #006600;">enemiesLeft</span> --;</pre></div></div>

<p>Now, find the main <tt>_root.onEnterFrame()</tt> function (~line 287). There should only be one line of code in there right now. We&#8217;re going to add some. Add the following code to the bottom of it:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>enemiesLeft==<span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span><span style="color: #808080; font-style: italic;">//if there are no more enemies left</span>
	currentLvl ++;<span style="color: #808080; font-style: italic;">//continue to the next level</span>
	currentEnemy = <span style="color: #cc66cc;">0</span>;<span style="color: #808080; font-style: italic;">//reset the amount of enemies there are</span>
	startGame<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<span style="color: #808080; font-style: italic;">//restart the game</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>Now, try testing out the game. Functionally, it&#8217;s working 100%. Practically, it&#8217;s not a great game. In order to make this game better, we&#8217;re going to have to show some information to the user while they&#8217;re playing, like the current level, the score, etc. This is exactly what we&#8217;re going to do now.</p>
<p>Now, try testing out the game. Functionally, it&#8217;s working 100%. Practically, it&#8217;s not a great game. In order to make this game better, we&#8217;re going to have to show some information to the user while they&#8217;re playing, like the current level, the score, etc. This is exactly what we&#8217;re going to do now.</p>
<p>Create four dynamic text boxes at the bottom left portion of the stage, each at 12 point font. Here&#8217;s an example of what yours should look like, with an example of what information we&#8217;re going to put into them later:</p>
<p><img class="size-full wp-image-1450" title="The Text Fields" src="http://www.mrsunstudios.com/wp-content/uploads/2009/02/textboxes.gif" alt="The Text Fields" width="146" height="88" /></p>
<p>Got that? Now, we just have to give each of these dynamic text fields an instance name. Label them accordingly:</p>
<ul>
<li><tt>txtLevel</tt></li>
<li><tt>txtMoney</tt></li>
<li><tt>txtLives</tt></li>
<li><tt>txtEnemiesLeft</tt></li>
</ul>
<p>Now, let&#8217;s dive into some code, shall we?</p>
<p>The first thing we need to do is actually define the <tt>money</tt> and the <tt>lives</tt> variables. Just add this code to the top:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">var</span> money:<span style="color: #0066CC;">Number</span>=<span style="color: #cc66cc;">100</span>;<span style="color: #808080; font-style: italic;">//how much money the player has to spend on turrets</span>
<span style="color: #000000; font-weight: bold;">var</span> lives:<span style="color: #0066CC;">Number</span>=<span style="color: #cc66cc;">20</span>;<span style="color: #808080; font-style: italic;">//how many lives the player has</span></pre></div></div>

<p>Okay, good stuff. Let&#8217;s first make these two variables mean something before we update the text. We first have to make it so the player loses lives so he/she can lose the game.</p>
<p>In order to do this, we must add the following code to the Enemy&#8217;s <tt>onEnterFrame()</tt> function (~line 353):</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">//checking what direction it goes when finishing the path</span>
<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">_root</span>.<span style="color: #006600;">finDir</span> == <span style="color: #ff0000;">'UP'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span><span style="color: #808080; font-style: italic;">//if it finishes at the top</span>
	<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_y</span> <span style="color: #66cc66;">&amp;</span>lt;= -<span style="color: #cc66cc;">25</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span><span style="color: #808080; font-style: italic;">//if the y value is too high</span>
		<span style="color: #0066CC;">_root</span>.<span style="color: #006600;">lives</span> --;<span style="color: #808080; font-style: italic;">//take away a life</span>
		<span style="color: #0066CC;">_root</span>.<span style="color: #006600;">money</span> -= <span style="color: #cc66cc;">5</span>;<span style="color: #808080; font-style: italic;">//don't let the player gain any money</span>
		<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">removeMovieClip</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<span style="color: #808080; font-style: italic;">//take it away from the stage</span>
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">_root</span>.<span style="color: #006600;">finDir</span> == <span style="color: #ff0000;">'RIGHT'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span><span style="color: #808080; font-style: italic;">//and so on for other directions</span>
	<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_x</span> <span style="color: #66cc66;">&amp;</span>gt;= <span style="color: #cc66cc;">550</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
		<span style="color: #0066CC;">_root</span>.<span style="color: #006600;">lives</span> --;
		<span style="color: #0066CC;">_root</span>.<span style="color: #006600;">money</span> -= <span style="color: #cc66cc;">5</span>;
		<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">removeMovieClip</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">_root</span>.<span style="color: #006600;">finDir</span> == <span style="color: #ff0000;">'DOWN'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
	<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_y</span> <span style="color: #66cc66;">&amp;</span>gt;= <span style="color: #cc66cc;">300</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
		<span style="color: #0066CC;">_root</span>.<span style="color: #006600;">lives</span> --;
		<span style="color: #0066CC;">_root</span>.<span style="color: #006600;">money</span> -= <span style="color: #cc66cc;">5</span>;
		<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">removeMovieClip</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">_root</span>.<span style="color: #006600;">startDir</span> == <span style="color: #ff0000;">'LEFT'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
	<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_x</span> <span style="color: #66cc66;">&amp;</span>lt;= <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
		<span style="color: #0066CC;">_root</span>.<span style="color: #006600;">lives</span> --;
		<span style="color: #0066CC;">_root</span>.<span style="color: #006600;">money</span> -= <span style="color: #cc66cc;">5</span>;
		<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">removeMovieClip</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span>
<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>.<span style="color: #006600;">health</span> <span style="color: #66cc66;">&amp;</span>lt;= <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
	<span style="color: #0066CC;">_root</span>.<span style="color: #006600;">enemiesLeft</span> --;
	<span style="color: #0066CC;">_root</span>.<span style="color: #006600;">money</span> += <span style="color: #cc66cc;">5</span>;
	<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">removeMovieClip</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>Note that we also are giving the player money for killing the enemies. Next, we&#8217;ll make each of the turrets cost a certain amount of money. I&#8217;m thinking $20 is a good price. Find the block&#8217;s <tt>onRelease</tt> function (~line 80). We have to wrap all of its contents with <tt>if(_root.money &gt;= 20){money-=20;......}</tt>. This way, the final <tt>onRelease</tt> function will look like this:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'block'</span>+i<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">onRelease</span> = <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
	<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">_root</span>.<span style="color: #006600;">money</span> <span style="color: #66cc66;">&amp;</span>gt;= <span style="color: #cc66cc;">20</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span><span style="color: #808080; font-style: italic;">//if there's enough money</span>
		<span style="color: #0066CC;">_root</span>.<span style="color: #006600;">money</span> -= <span style="color: #cc66cc;">20</span>;<span style="color: #808080; font-style: italic;">//spend it and make a turret</span>
		<span style="color: #808080; font-style: italic;">//this function will run when the empty block is clicked on</span>
&nbsp;
		<span style="color: #808080; font-style: italic;">//change this guy's color back</span>
		<span style="color: #000000; font-weight: bold;">var</span> newColor = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Color</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span><span style="color: #66cc66;">&#41;</span>;
		newColor.<span style="color: #0066CC;">setRGB</span><span style="color: #66cc66;">&#40;</span>0x333333<span style="color: #66cc66;">&#41;</span>;
		<span style="color: #808080; font-style: italic;">//set all other mouse functions to null in order to keep it from being clicked again</span>
		<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">onRollOver</span> = <span style="color: #000000; font-weight: bold;">null</span>;
		<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">onRollOut</span> = <span style="color: #000000; font-weight: bold;">null</span>;
		<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">onRelease</span> = <span style="color: #000000; font-weight: bold;">null</span>;
		<span style="color: #808080; font-style: italic;">//create an empty turret movieclip that will be on the top root layer</span>
		<span style="color: #0066CC;">_root</span>.<span style="color: #0066CC;">createEmptyMovieClip</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span>,<span style="color: #0066CC;">_root</span>.<span style="color: #0066CC;">getNextHighestDepth</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
		<span style="color: #808080; font-style: italic;">//drawing the turret, it will have a gray, circular, base with a white gun</span>
		<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">beginFill</span><span style="color: #66cc66;">&#40;</span>0x999999<span style="color: #66cc66;">&#41;</span>;<span style="color: #808080; font-style: italic;">//coloring the base light gray</span>
		<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">moveTo</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">12.5</span><span style="color: #66cc66;">&#41;</span>;<span style="color: #808080; font-style: italic;">//move the entire shape a certain way</span>
		<span style="color: #808080; font-style: italic;">//create 4 curves so that it'll look like a circle</span>
		<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">curveTo</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">25</span>,<span style="color: #cc66cc;">12.5</span>,<span style="color: #cc66cc;">25</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">curveTo</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">25</span>,<span style="color: #cc66cc;">25</span>,<span style="color: #cc66cc;">25</span>,<span style="color: #cc66cc;">12.5</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">curveTo</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">25</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">12.5</span>,<span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">curveTo</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">12.5</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">endFill</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<span style="color: #808080; font-style: italic;">//end the fill so we can make a new one</span>
&nbsp;
		<span style="color: #808080; font-style: italic;">//creating the gun</span>
		<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">createEmptyMovieClip</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'gun'</span>,<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">getNextHighestDepth</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">gun</span>.<span style="color: #0066CC;">beginFill</span><span style="color: #66cc66;">&#40;</span>0xFFFFFF<span style="color: #66cc66;">&#41;</span>;
		<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">gun</span>.<span style="color: #0066CC;">lineTo</span><span style="color: #66cc66;">&#40;</span>-<span style="color: #cc66cc;">2</span>,-<span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">gun</span>.<span style="color: #0066CC;">lineTo</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">2</span>,-<span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">gun</span>.<span style="color: #0066CC;">lineTo</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">2</span>,<span style="color: #cc66cc;">15</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">gun</span>.<span style="color: #0066CC;">lineTo</span><span style="color: #66cc66;">&#40;</span>-<span style="color: #cc66cc;">2</span>,<span style="color: #cc66cc;">15</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">gun</span>.<span style="color: #0066CC;">lineTo</span><span style="color: #66cc66;">&#40;</span>-<span style="color: #cc66cc;">2</span>,-<span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">gun</span>.<span style="color: #0066CC;">endFill</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #808080; font-style: italic;">//setting the gun to be on the center of the turret</span>
		<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">gun</span>.<span style="color: #0066CC;">_x</span> = <span style="color: #cc66cc;">12.5</span>;
		<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">gun</span>.<span style="color: #0066CC;">_y</span> = <span style="color: #cc66cc;">12.5</span>;
		<span style="color: #808080; font-style: italic;">//set the turrets coordinates to be the blocks coordinates</span>
		<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_x</span> = <span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_x</span>;
		<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_y</span> = <span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_y</span>;
&nbsp;
		<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">angle</span> = <span style="color: #cc66cc;">0</span>; <span style="color: #808080; font-style: italic;">//the angle that the turret is currently rotated at</span>
		<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">radiansToDegrees</span> = <span style="color: #cc66cc;">180</span><span style="color: #66cc66;">/</span><span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">PI</span>;<span style="color: #808080; font-style: italic;">//this is needed for the rotation</span>
		<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">damage</span> = <span style="color: #cc66cc;">3</span>;<span style="color: #808080; font-style: italic;">//how much damage this little baby can inflict</span>
		<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">range</span> = <span style="color: #cc66cc;">100</span>;<span style="color: #808080; font-style: italic;">//how far away (in pixels) it can hit a target</span>
		<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">enTarget</span> = <span style="color: #000000; font-weight: bold;">null</span>;<span style="color: #808080; font-style: italic;">//the current target that it's rotating towards</span>
		<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">cTime</span> = <span style="color: #cc66cc;">0</span>;<span style="color: #808080; font-style: italic;">//how much time since a shot was fired by this turret</span>
		<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">reloadTime</span> = <span style="color: #cc66cc;">12</span>;<span style="color: #808080; font-style: italic;">//how long it takes to fire another shot</span>
		<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">loaded</span> = <span style="color: #000000; font-weight: bold;">true</span>;<span style="color: #808080; font-style: italic;">//whether or not this turret can shoot</span>
&nbsp;
		<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">onEnterFrame</span> = <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
			<span style="color: #808080; font-style: italic;">//FINDING THE NEAREST ENEMY WITHIN RANGE</span>
			<span style="color: #0066CC;">this</span>.<span style="color: #006600;">distance</span> = <span style="color: #0066CC;">this</span>.<span style="color: #006600;">range</span>;<span style="color: #808080; font-style: italic;">//let's define a variable which will be how far the nearest enemy is</span>
			<span style="color: #0066CC;">this</span>.<span style="color: #006600;">enTarget</span> = <span style="color: #000000; font-weight: bold;">null</span>;<span style="color: #808080; font-style: italic;">//right now, we don't have a target to shoot at</span>
			<span style="color: #b1b100;">for</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">var</span> i=<span style="color: #0066CC;">_root</span>.<span style="color: #006600;">currentEnemy</span>-<span style="color: #cc66cc;">1</span>;i<span style="color: #66cc66;">&amp;</span>gt;=<span style="color: #cc66cc;">0</span>;i--<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span><span style="color: #808080; font-style: italic;">//loop through the children in enemyHolder</span>
				<span style="color: #000000; font-weight: bold;">var</span> cEnemy = <span style="color: #0066CC;">_root</span>.<span style="color: #006600;">enemyHolder</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+i<span style="color: #66cc66;">&#93;</span>;<span style="color: #808080; font-style: italic;">//define a movieclip that will hold the current child</span>
				<span style="color: #808080; font-style: italic;">//this simple formula with get us the distance of the current enemy</span>
				<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">sqrt</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">pow</span><span style="color: #66cc66;">&#40;</span>cEnemy.<span style="color: #0066CC;">_y</span> - <span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_y</span>, <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span> + <span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">pow</span><span style="color: #66cc66;">&#40;</span>cEnemy.<span style="color: #0066CC;">_x</span> - <span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_x</span>, <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&amp;</span>lt; <span style="color: #0066CC;">this</span>.<span style="color: #006600;">distance</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
					<span style="color: #808080; font-style: italic;">//if the selected enemy is close enough, then set it as the target</span>
					<span style="color: #0066CC;">this</span>.<span style="color: #006600;">enTarget</span> = cEnemy;
				<span style="color: #66cc66;">&#125;</span>
			<span style="color: #66cc66;">&#125;</span>
			<span style="color: #808080; font-style: italic;">//ROTATING TOWARDS TARGET</span>
			<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>.<span style="color: #006600;">enTarget</span> <span style="color: #66cc66;">!</span>= <span style="color: #000000; font-weight: bold;">null</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span><span style="color: #808080; font-style: italic;">//if we have a defined target</span>
				<span style="color: #808080; font-style: italic;">//turn this baby towards it</span>
				<span style="color: #0066CC;">this</span>.<span style="color: #006600;">gun</span>.<span style="color: #0066CC;">_rotation</span> = <span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">atan2</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>.<span style="color: #006600;">enTarget</span>._y-<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_y</span><span style="color: #66cc66;">&#41;</span>, <span style="color: #0066CC;">this</span>.<span style="color: #006600;">enTarget</span>._x-<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_x</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">/</span><span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">PI</span><span style="color: #66cc66;">*</span><span style="color: #cc66cc;">180</span>-<span style="color: #cc66cc;">90</span>;
				<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">loaded</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span><span style="color: #808080; font-style: italic;">//if the turret is able to shoot</span>
					<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">loaded</span> = <span style="color: #000000; font-weight: bold;">false</span>;<span style="color: #808080; font-style: italic;">//then make in unable to do it for a bit</span>
					<span style="color: #808080; font-style: italic;">//create a bullet</span>
					<span style="color: #0066CC;">_root</span>.<span style="color: #0066CC;">createEmptyMovieClip</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'b'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span>,<span style="color: #0066CC;">_root</span>.<span style="color: #0066CC;">getNextHighestDepth</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
					<span style="color: #808080; font-style: italic;">//draw the bullet</span>
					<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'b'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">beginFill</span><span style="color: #66cc66;">&#40;</span>0xFFFFFF<span style="color: #66cc66;">&#41;</span>;
					<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'b'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">lineTo</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>;
					<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'b'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">lineTo</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">3</span><span style="color: #66cc66;">&#41;</span>;
					<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'b'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">lineTo</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">3</span>,<span style="color: #cc66cc;">3</span><span style="color: #66cc66;">&#41;</span>;
					<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'b'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">lineTo</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">3</span>,<span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>;
					<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'b'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">endFill</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
					<span style="color: #808080; font-style: italic;">//set the bullet's coordinates</span>
					<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'b'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_x</span> = <span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_x</span>+<span style="color: #cc66cc;">12.5</span>;
					<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'b'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_y</span> = <span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_y</span>+<span style="color: #cc66cc;">12.5</span>;
					<span style="color: #808080; font-style: italic;">//set the bullet's target and damage</span>
					<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'b'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">target</span> = <span style="color: #0066CC;">this</span>.<span style="color: #006600;">enTarget</span>;
					<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'b'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">damage</span> = <span style="color: #0066CC;">this</span>.<span style="color: #006600;">damage</span>;
&nbsp;
					<span style="color: #808080; font-style: italic;">//add some functions to this bullet</span>
					<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'b'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">onEnterFrame</span> = <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
						<span style="color: #0066CC;">this</span>.<span style="color: #006600;">maxSpeed</span>=<span style="color: #cc66cc;">8</span>;
						<span style="color: #0066CC;">this</span>.<span style="color: #006600;">yDist</span>=<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">target</span>.<span style="color: #0066CC;">_y</span>+<span style="color: #cc66cc;">12.5</span> - <span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_y</span>;<span style="color: #808080; font-style: italic;">//how far this guy is from the enemy (x)</span>
						<span style="color: #0066CC;">this</span>.<span style="color: #006600;">xDist</span>=<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">target</span>.<span style="color: #0066CC;">_x</span>+<span style="color: #cc66cc;">12.5</span> - <span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_x</span>;<span style="color: #808080; font-style: italic;">//how far it is from the enemy (y)</span>
						<span style="color: #0066CC;">this</span>.<span style="color: #006600;">angle</span>=<span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">atan2</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>.<span style="color: #006600;">yDist</span>,<span style="color: #0066CC;">this</span>.<span style="color: #006600;">xDist</span><span style="color: #66cc66;">&#41;</span>;<span style="color: #808080; font-style: italic;">//the angle that it must move</span>
						<span style="color: #0066CC;">this</span>.<span style="color: #006600;">ySpeed</span>=<span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">sin</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>.<span style="color: #006600;">angle</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">*</span> <span style="color: #0066CC;">this</span>.<span style="color: #006600;">maxSpeed</span>;<span style="color: #808080; font-style: italic;">//calculate how much it should move the enemy vertically</span>
						<span style="color: #0066CC;">this</span>.<span style="color: #006600;">xSpeed</span>=<span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">cos</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>.<span style="color: #006600;">angle</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">*</span> <span style="color: #0066CC;">this</span>.<span style="color: #006600;">maxSpeed</span>;<span style="color: #808080; font-style: italic;">//calculate how much it should move the enemy horizontally</span>
						<span style="color: #808080; font-style: italic;">//move the bullet towards the enemy</span>
						<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_x</span>+= <span style="color: #0066CC;">this</span>.<span style="color: #006600;">xSpeed</span>;
						<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_y</span>+= <span style="color: #0066CC;">this</span>.<span style="color: #006600;">ySpeed</span>;
						<span style="color: #808080; font-style: italic;">//check if it is close to the enemy</span>
						<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_x</span>+<span style="color: #0066CC;">this</span>.<span style="color: #006600;">maxSpeed</span><span style="color: #66cc66;">*</span><span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&amp;</span>gt;=<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">target</span>.<span style="color: #0066CC;">_x</span> <span style="color: #66cc66;">&amp;</span>amp;<span style="color: #66cc66;">&amp;</span>amp; <span style="color: #0066CC;">this</span>._x-<span style="color: #0066CC;">this</span>.<span style="color: #006600;">maxSpeed</span><span style="color: #66cc66;">*</span><span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&amp;</span>lt;=<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">target</span>.<span style="color: #0066CC;">_x</span>
						<span style="color: #66cc66;">&amp;</span>amp;<span style="color: #66cc66;">&amp;</span>amp; <span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_y</span>+<span style="color: #0066CC;">this</span>.<span style="color: #006600;">maxSpeed</span><span style="color: #66cc66;">*</span><span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&amp;</span>gt;=<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">target</span>.<span style="color: #0066CC;">_y</span> <span style="color: #66cc66;">&amp;</span>amp;<span style="color: #66cc66;">&amp;</span>amp; <span style="color: #0066CC;">this</span>._y-<span style="color: #0066CC;">this</span>.<span style="color: #006600;">maxSpeed</span><span style="color: #66cc66;">*</span><span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&amp;</span>lt;=<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">target</span>.<span style="color: #0066CC;">_y</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
							<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">target</span>.<span style="color: #006600;">health</span> -= <span style="color: #0066CC;">this</span>.<span style="color: #006600;">damage</span>;<span style="color: #808080; font-style: italic;">//make the enemy lose health</span>
							<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">removeMovieClip</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<span style="color: #808080; font-style: italic;">//remove this sucker</span>
						<span style="color: #66cc66;">&#125;</span>
					<span style="color: #66cc66;">&#125;</span>
				<span style="color: #66cc66;">&#125;</span>
			<span style="color: #66cc66;">&#125;</span>
			<span style="color: #808080; font-style: italic;">//LOADING THE TURRET</span>
			<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">!</span><span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">loaded</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span><span style="color: #808080; font-style: italic;">//if it isn't loaded</span>
				<span style="color: #0066CC;">this</span>.<span style="color: #006600;">cTime</span> ++;<span style="color: #808080; font-style: italic;">//then continue the time</span>
				<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>.<span style="color: #006600;">cTime</span> == <span style="color: #0066CC;">this</span>.<span style="color: #006600;">reloadTime</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span><span style="color: #808080; font-style: italic;">//if time has elapsed for long enough</span>
					<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">loaded</span> = <span style="color: #000000; font-weight: bold;">true</span>;<span style="color: #808080; font-style: italic;">//load the turret</span>
					<span style="color: #0066CC;">this</span>.<span style="color: #006600;">cTime</span> = <span style="color: #cc66cc;">0</span>;<span style="color: #808080; font-style: italic;">//and reset the time</span>
				<span style="color: #66cc66;">&#125;</span>
			<span style="color: #66cc66;">&#125;</span>
		<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>Now, we can update these text fields. Once again, find the <tt>_root.onEnterFrame()</tt> function (~line 300). Add the following code which will update all the text fields with the needed information:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">//Updating the text fields</span>
txtLevel.<span style="color: #0066CC;">text</span> = <span style="color: #ff0000;">'Level '</span>+currentLvl;
txtMoney.<span style="color: #0066CC;">text</span> = <span style="color: #ff0000;">'$'</span>+money;
txtLives.<span style="color: #0066CC;">text</span> = <span style="color: #ff0000;">'Lives: '</span>+lives;
txtEnemiesLeft.<span style="color: #0066CC;">text</span> = <span style="color: #ff0000;">'Enemies Left:  '</span>+enemiesLeft;</pre></div></div>

<p>Now, let&#8217;s create some winning and losing scenarios for the player. When the player has beaten all of the levels, then a win screen should show up. The same thing should happen with a lose screen when the player loses all of his/her lives. Let&#8217;s create these two frames, shall we?</p>
<p>Before, we create the frames, we have to add a layer called &#8220;labels&#8221;. This will just let us easily navigate to the required frames. Next, create a frame labeled &#8220;win&#8221; and add whatever message you want to inform the player that they&#8217;ve won. Do the same with a &#8220;lose&#8221; frame.</p>
<p>Now, we have to make it possible for the player to restart the game. We&#8217;ll let them do it by clicking anywhere on the screen. Copy and paste this code to both the &#8220;win&#8221;  frame and the &#8220;lose&#8221; frame:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">timeElapsed = <span style="color: #cc66cc;">0</span>;<span style="color: #808080; font-style: italic;">//how many frames have elapsed since this screen has been shown</span>
&nbsp;
<span style="color: #0066CC;">_root</span>.<span style="color: #0066CC;">onEnterFrame</span> = <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
	timeElapsed ++;<span style="color: #808080; font-style: italic;">//increase the amount of frames that have elapsed</span>
	<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>timeElapsed == <span style="color: #cc66cc;">120</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span><span style="color: #808080; font-style: italic;">//if 5 seconds (@24fps) have elapsed</span>
		<span style="color: #0066CC;">gotoAndStop</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;<span style="color: #808080; font-style: italic;">//go back to restart the game</span>
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>All right, the next thing we have to do is navigate to the desired frame when the player wins or loses. Go back to frame 1 and find the <tt>_root.onEnterFrame()</tt> function (~line 293). Add the following code to the <strong>very beginning</strong> of it:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">//if there aren't any levels left</span>
	<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>currentLvl <span style="color: #66cc66;">&amp;</span>gt; enemyArray.<span style="color: #0066CC;">length</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
		gameOver=<span style="color: #000000; font-weight: bold;">true</span>;<span style="color: #808080; font-style: italic;">//set the game to be over</span>
&nbsp;
		<span style="color: #808080; font-style: italic;">//reset all the stats</span>
		currentLvl = <span style="color: #cc66cc;">1</span>;
		currentEnemy = <span style="color: #cc66cc;">0</span>;
		enemyTime = <span style="color: #cc66cc;">0</span>;
		enemyLimit = <span style="color: #cc66cc;">12</span>;
		enemiesLeft = <span style="color: #cc66cc;">0</span>;
&nbsp;
		roadHolder.<span style="color: #0066CC;">removeMovieClip</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<span style="color: #808080; font-style: italic;">//remove the pieces of road</span>
		enemyHolder.<span style="color: #0066CC;">removeMovieClip</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<span style="color: #808080; font-style: italic;">//remove the enemies</span>
		<span style="color: #808080; font-style: italic;">//remove all of the blocks</span>
		<span style="color: #b1b100;">for</span><span style="color: #66cc66;">&#40;</span>i=<span style="color: #cc66cc;">0</span>;i<span style="color: #66cc66;">&amp;</span>lt;=<span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span><span style="color: #808080; font-style: italic;">//if the user runs out of lives</span>
		gameOver=<span style="color: #000000; font-weight: bold;">true</span>;<span style="color: #808080; font-style: italic;">//set the game to be over</span>
&nbsp;
		<span style="color: #808080; font-style: italic;">//reset all the stats</span>
		currentLvl = <span style="color: #cc66cc;">1</span>;
		currentEnemy = <span style="color: #cc66cc;">0</span>;
		enemyTime = <span style="color: #cc66cc;">0</span>;
		enemyLimit = <span style="color: #cc66cc;">12</span>;
		enemiesLeft = <span style="color: #cc66cc;">0</span>;
&nbsp;
		roadHolder.<span style="color: #0066CC;">removeMovieClip</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<span style="color: #808080; font-style: italic;">//remove the pieces of road</span>
		enemyHolder.<span style="color: #0066CC;">removeMovieClip</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<span style="color: #808080; font-style: italic;">//remove the enemies</span>
		<span style="color: #808080; font-style: italic;">//remove all of the blocks</span>
		<span style="color: #b1b100;">for</span><span style="color: #66cc66;">&#40;</span>i=<span style="color: #cc66cc;">0</span>;i</pre></div></div>

<p>Sweet. This concludes this installment of the tutorial series. Join us next time when we expand on the game!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flashgametuts.com/tutorials/advanced/how-to-create-a-tower-defense-game-in-as2-part-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Create a Tower Defense Game in AS2 &#8211; Part 4</title>
		<link>http://www.flashgametuts.com/tutorials/advanced/how-to-create-a-tower-defense-game-in-as2-part-4/</link>
		<comments>http://www.flashgametuts.com/tutorials/advanced/how-to-create-a-tower-defense-game-in-as2-part-4/#comments</comments>
		<pubDate>Sat, 25 Jul 2009 12:04:22 +0000</pubDate>
		<dc:creator>Mr Sun</dc:creator>
				<category><![CDATA[AS2]]></category>
		<category><![CDATA[Advanced]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[defense]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[tower]]></category>
		<category><![CDATA[tower defense]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.mrsunstudios.com/?p=1509</guid>
		<description><![CDATA[Well, it&#8217;s now time to let the enemies we just created be destroyed. Let&#8217;s dig in, shall we? First, we&#8217;ll define a single health variable for the Enemy. Find this code in the makeEnemies() function (~ Line 236): //add a few variables to the enemy enemyHolder&#91;'enemy'+currentEnemy&#93;.maxSpeed = 3;//how fast it can possibly go enemyHolder&#91;'enemy'+currentEnemy&#93;.xSpeed = [...]]]></description>
			<content:encoded><![CDATA[<p>Well, it&#8217;s now time to let the enemies we just created be destroyed. Let&#8217;s dig in, shall we?</p>
<p>First, we&#8217;ll define a single <tt>health</tt> variable for the Enemy. Find this code in the <tt>makeEnemies()</tt> function (~ Line 236):</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">//add a few variables to the enemy</span>
enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">maxSpeed</span> = <span style="color: #cc66cc;">3</span>;<span style="color: #808080; font-style: italic;">//how fast it can possibly go</span>
enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">xSpeed</span> = <span style="color: #cc66cc;">0</span>;
enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">ySpeed</span> = <span style="color: #cc66cc;">0</span>;</pre></div></div>

<p>Just add this code:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">health</span> = <span style="color: #cc66cc;">5</span>;</pre></div></div>

<p>Now, we&#8217;re going to have to add some variables to the turrets. In the <tt>makeRoad()</tt> function, find the <tt>onRelease</tt> function of the Empty Block (~ Line 77). Add this code to the bottom of that function (~ Line 116).</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">angle</span> = <span style="color: #cc66cc;">0</span>; <span style="color: #808080; font-style: italic;">//the angle that the turret is currently rotated at</span>
<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">radiansToDegrees</span> = <span style="color: #cc66cc;">180</span><span style="color: #66cc66;">/</span><span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">PI</span>;<span style="color: #808080; font-style: italic;">//this is needed for the rotation</span>
<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">damage</span> = <span style="color: #cc66cc;">3</span>;<span style="color: #808080; font-style: italic;">//how much damage this little baby can inflict</span>
<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">range</span> = <span style="color: #cc66cc;">100</span>;<span style="color: #808080; font-style: italic;">//how far away (in pixels) it can hit a target</span>
<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">enTarget</span> = <span style="color: #000000; font-weight: bold;">null</span>;<span style="color: #808080; font-style: italic;">//the current target that it's rotating towards</span>
<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">cTime</span> = <span style="color: #cc66cc;">0</span>;<span style="color: #808080; font-style: italic;">//how much time since a shot was fired by this turret</span>
<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">reloadTime</span> = <span style="color: #cc66cc;">12</span>;<span style="color: #808080; font-style: italic;">//how long it takes to fire another shot</span>
<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">loaded</span> = <span style="color: #000000; font-weight: bold;">true</span>;<span style="color: #808080; font-style: italic;">//whether or not this turret can shoot</span></pre></div></div>

<p>Those are a lot of variables, aren&#8217;t they? Well, this is a pretty complex task, so we&#8217;re going to need all of them. So, brace yourself, for we are now going to jump into some code. Add the following after the code you just added above:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">onEnterFrame</span> = <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
	<span style="color: #808080; font-style: italic;">//FINDING THE NEAREST ENEMY WITHIN RANGE</span>
	<span style="color: #0066CC;">this</span>.<span style="color: #006600;">distance</span> = <span style="color: #0066CC;">this</span>.<span style="color: #006600;">range</span>;<span style="color: #808080; font-style: italic;">//let's define a variable which will be how far the nearest enemy is</span>
	<span style="color: #0066CC;">this</span>.<span style="color: #006600;">enTarget</span> = <span style="color: #000000; font-weight: bold;">null</span>;<span style="color: #808080; font-style: italic;">//right now, we don't have a target to shoot at</span>
	<span style="color: #b1b100;">for</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">var</span> i=<span style="color: #0066CC;">_root</span>.<span style="color: #006600;">currentEnemy</span>-<span style="color: #cc66cc;">1</span>;i<span style="color: #66cc66;">&amp;</span>gt;=<span style="color: #cc66cc;">0</span>;i--<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span><span style="color: #808080; font-style: italic;">//loop through the children in enemyHolder</span>
		<span style="color: #000000; font-weight: bold;">var</span> cEnemy = <span style="color: #0066CC;">_root</span>.<span style="color: #006600;">enemyHolder</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+i<span style="color: #66cc66;">&#93;</span>;<span style="color: #808080; font-style: italic;">//define a movieclip that will hold the current child</span>
		<span style="color: #808080; font-style: italic;">//this simple formula with get us the distance of the current enemy</span>
		<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">sqrt</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">pow</span><span style="color: #66cc66;">&#40;</span>cEnemy.<span style="color: #0066CC;">_y</span> - <span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_y</span>, <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span> + <span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">pow</span><span style="color: #66cc66;">&#40;</span>cEnemy.<span style="color: #0066CC;">_x</span> - <span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_x</span>, <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&amp;</span>lt; <span style="color: #0066CC;">this</span>.<span style="color: #006600;">distance</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
			<span style="color: #808080; font-style: italic;">//if the selected enemy is close enough, then set it as the target</span>
			<span style="color: #0066CC;">this</span>.<span style="color: #006600;">enTarget</span> = cEnemy;
		<span style="color: #66cc66;">&#125;</span>
	<span style="color: #66cc66;">&#125;</span>
	<span style="color: #808080; font-style: italic;">//ROTATING TOWARDS TARGET</span>
	<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>.<span style="color: #006600;">enTarget</span> <span style="color: #66cc66;">!</span>= <span style="color: #000000; font-weight: bold;">null</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span><span style="color: #808080; font-style: italic;">//if we have a defined target</span>
		<span style="color: #808080; font-style: italic;">//turn this baby towards it</span>
		<span style="color: #0066CC;">this</span>.<span style="color: #006600;">gun</span>.<span style="color: #0066CC;">_rotation</span> = <span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">atan2</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>.<span style="color: #006600;">enTarget</span>._y-<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_y</span><span style="color: #66cc66;">&#41;</span>, <span style="color: #0066CC;">this</span>.<span style="color: #006600;">enTarget</span>._x-<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_x</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">/</span><span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">PI</span><span style="color: #66cc66;">*</span><span style="color: #cc66cc;">180</span>-<span style="color: #cc66cc;">90</span>;
		<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">loaded</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span><span style="color: #808080; font-style: italic;">//if the turret is able to shoot</span>
			<span style="color: #808080; font-style: italic;">//subtract the enemy's health</span>
			<span style="color: #0066CC;">this</span>.<span style="color: #006600;">enTarget</span>.<span style="color: #006600;">health</span> -= <span style="color: #0066CC;">this</span>.<span style="color: #006600;">damage</span>;
			<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">loaded</span> = <span style="color: #000000; font-weight: bold;">false</span>;<span style="color: #808080; font-style: italic;">//then make in unable to do it for a bit</span>
			<span style="color: #808080; font-style: italic;">//create a bullet</span>
			<span style="color: #0066CC;">_root</span>.<span style="color: #0066CC;">createEmptyMovieClip</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'b'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span>,<span style="color: #0066CC;">_root</span>.<span style="color: #0066CC;">getNextHighestDepth</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
			<span style="color: #808080; font-style: italic;">//draw the bullet</span>
			<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'b'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">beginFill</span><span style="color: #66cc66;">&#40;</span>0xFFFFFF<span style="color: #66cc66;">&#41;</span>;
			<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'b'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">lineTo</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>;
			<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'b'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">lineTo</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">3</span><span style="color: #66cc66;">&#41;</span>;
			<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'b'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">lineTo</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">3</span>,<span style="color: #cc66cc;">3</span><span style="color: #66cc66;">&#41;</span>;
			<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'b'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">lineTo</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">3</span>,<span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>;
			<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'b'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">endFill</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			<span style="color: #808080; font-style: italic;">//set the bullet's coordinates</span>
			<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'b'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_x</span> = <span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_x</span>+<span style="color: #cc66cc;">12.5</span>;
			<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'b'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_y</span> = <span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_y</span>+<span style="color: #cc66cc;">12.5</span>;
			<span style="color: #808080; font-style: italic;">//set the bullet's target and damage</span>
			<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'b'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">target</span> = <span style="color: #0066CC;">this</span>.<span style="color: #006600;">enTarget</span>;
&nbsp;
			<span style="color: #808080; font-style: italic;">//add some functions to this bullet</span>
			<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'b'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">onEnterFrame</span> = <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
				<span style="color: #0066CC;">this</span>.<span style="color: #006600;">maxSpeed</span>=<span style="color: #cc66cc;">4</span>;
				<span style="color: #0066CC;">this</span>.<span style="color: #006600;">yDist</span>=<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">target</span>.<span style="color: #0066CC;">_y</span>+<span style="color: #cc66cc;">12.5</span> - <span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_y</span>;<span style="color: #808080; font-style: italic;">//how far this guy is from the enemy (x)</span>
				<span style="color: #0066CC;">this</span>.<span style="color: #006600;">xDist</span>=<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">target</span>.<span style="color: #0066CC;">_x</span>+<span style="color: #cc66cc;">12.5</span> - <span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_x</span>;<span style="color: #808080; font-style: italic;">//how far it is from the enemy (y)</span>
				<span style="color: #0066CC;">this</span>.<span style="color: #006600;">angle</span>=<span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">atan2</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>.<span style="color: #006600;">yDist</span>,<span style="color: #0066CC;">this</span>.<span style="color: #006600;">xDist</span><span style="color: #66cc66;">&#41;</span>;<span style="color: #808080; font-style: italic;">//the angle that it must move</span>
				<span style="color: #0066CC;">this</span>.<span style="color: #006600;">ySpeed</span>=<span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">sin</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>.<span style="color: #006600;">angle</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">*</span> <span style="color: #0066CC;">this</span>.<span style="color: #006600;">maxSpeed</span>;<span style="color: #808080; font-style: italic;">//calculate how much it should move the enemy vertically</span>
				<span style="color: #0066CC;">this</span>.<span style="color: #006600;">xSpeed</span>=<span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">cos</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>.<span style="color: #006600;">angle</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">*</span> <span style="color: #0066CC;">this</span>.<span style="color: #006600;">maxSpeed</span>;<span style="color: #808080; font-style: italic;">//calculate how much it should move the enemy horizontally</span>
				<span style="color: #808080; font-style: italic;">//move the bullet towards the enemy</span>
				<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_x</span>+= <span style="color: #0066CC;">this</span>.<span style="color: #006600;">xSpeed</span>;
				<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_y</span>+= <span style="color: #0066CC;">this</span>.<span style="color: #006600;">ySpeed</span>;
				<span style="color: #808080; font-style: italic;">//check if it is close to the enemy</span>
				<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_x</span>+<span style="color: #0066CC;">this</span>.<span style="color: #006600;">maxSpeed</span><span style="color: #66cc66;">*</span><span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&amp;</span>gt;=<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">target</span>.<span style="color: #0066CC;">_x</span> <span style="color: #66cc66;">&amp;</span>amp;<span style="color: #66cc66;">&amp;</span>amp; <span style="color: #0066CC;">this</span>._x-<span style="color: #0066CC;">this</span>.<span style="color: #006600;">maxSpeed</span><span style="color: #66cc66;">*</span><span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&amp;</span>lt;=<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">target</span>.<span style="color: #0066CC;">_x</span>
				<span style="color: #66cc66;">&amp;</span>amp;<span style="color: #66cc66;">&amp;</span>amp; <span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_y</span>+<span style="color: #0066CC;">this</span>.<span style="color: #006600;">maxSpeed</span><span style="color: #66cc66;">*</span><span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&amp;</span>gt;=<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">target</span>.<span style="color: #0066CC;">_y</span> <span style="color: #66cc66;">&amp;</span>amp;<span style="color: #66cc66;">&amp;</span>amp; <span style="color: #0066CC;">this</span>._y-<span style="color: #0066CC;">this</span>.<span style="color: #006600;">maxSpeed</span><span style="color: #66cc66;">*</span><span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&amp;</span>lt;=<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">target</span>.<span style="color: #0066CC;">_y</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
					<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">target</span>.<span style="color: #006600;">health</span> -= <span style="color: #0066CC;">this</span>.<span style="color: #006600;">damage</span>;<span style="color: #808080; font-style: italic;">//make the enemy lose health</span>
					<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">removeMovieClip</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<span style="color: #808080; font-style: italic;">//remove this sucker</span>
				<span style="color: #66cc66;">&#125;</span>
			<span style="color: #66cc66;">&#125;</span>
		<span style="color: #66cc66;">&#125;</span>
	<span style="color: #66cc66;">&#125;</span>
	<span style="color: #808080; font-style: italic;">//LOADING THE TURRET</span>
	<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">!</span><span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">loaded</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span><span style="color: #808080; font-style: italic;">//if it isn't loaded</span>
		<span style="color: #0066CC;">this</span>.<span style="color: #006600;">cTime</span> ++;<span style="color: #808080; font-style: italic;">//then continue the time</span>
		<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>.<span style="color: #006600;">cTime</span> == <span style="color: #0066CC;">this</span>.<span style="color: #006600;">reloadTime</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span><span style="color: #808080; font-style: italic;">//if time has elapsed for long enough</span>
			<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">loaded</span> = <span style="color: #000000; font-weight: bold;">true</span>;<span style="color: #808080; font-style: italic;">//load the turret</span>
			<span style="color: #0066CC;">this</span>.<span style="color: #006600;">cTime</span> = <span style="color: #cc66cc;">0</span>;<span style="color: #808080; font-style: italic;">//and reset the time</span>
		<span style="color: #66cc66;">&#125;</span>
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>Now, if you test out the game and create some turrets, they should start shooting at those darn enemies! Next, we have to make it so the enemy dies when shot. This will be pretty easy to do. Find the code where we added the <tt>onEnterFrame()</tt> code to the enemy and made it move (~line 342). Just add this little tidbit of code:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>.<span style="color: #006600;">health</span> <span style="color: #66cc66;">&amp;</span>lt;= <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
	<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">removeMovieClip</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>Pretty hot stuff, ain&#8217;t it? Well, this concludes the fourth installment of this tutorial. Join us next time when we make levels and have winning and losing scenarios!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flashgametuts.com/tutorials/advanced/how-to-create-a-tower-defense-game-in-as2-part-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Create a Tower Defense Game in AS2 &#8211; Part 3</title>
		<link>http://www.flashgametuts.com/tutorials/advanced/how-to-create-a-tower-defense-game-in-as2-part-3/</link>
		<comments>http://www.flashgametuts.com/tutorials/advanced/how-to-create-a-tower-defense-game-in-as2-part-3/#comments</comments>
		<pubDate>Sat, 25 Jul 2009 12:03:10 +0000</pubDate>
		<dc:creator>Mr Sun</dc:creator>
				<category><![CDATA[AS2]]></category>
		<category><![CDATA[Advanced]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[defense]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[tower]]></category>
		<category><![CDATA[tower defense]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.mrsunstudios.com/?p=1498</guid>
		<description><![CDATA[Welcome back. In this part of the tutorial, we are going to add enemies to the field and we&#8217;re going to program them to move through the paths. Let&#8217;s begin by adding the enemy to the stage. Like the other symbols, we&#8217;re going to do it by creating an empty MovieClip and drawing the shape [...]]]></description>
			<content:encoded><![CDATA[<p>Welcome back. In this part of the tutorial, we are going to add enemies to the field and we&#8217;re going to program them to move through the paths.</p>
<p>Let&#8217;s begin by adding the enemy to the stage. Like the other symbols, we&#8217;re going to do it by creating an empty MovieClip and drawing the shape into it. In order to do this, however, we must first define some variables. Do this at the top of the code:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">var</span> currentEnemy:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">0</span>;<span style="color: #808080; font-style: italic;">//the current enemy that we're creating from the array</span>
<span style="color: #000000; font-weight: bold;">var</span> enemyTime:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">0</span>;<span style="color: #808080; font-style: italic;">//how many frames have elapsed since the last enemy was created</span>
<span style="color: #000000; font-weight: bold;">var</span> enemyLimit:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">12</span>;<span style="color: #808080; font-style: italic;">//how many frames are allowed before another enemy is created</span>
<span style="color: #000000; font-weight: bold;">var</span> enemyArray:<span style="color: #0066CC;">Array</span> = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Array</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<span style="color: #808080; font-style: italic;">//this array will tell the function when to create an enemy</span>
<span style="color: #000000; font-weight: bold;">var</span> enemiesLeft:<span style="color: #0066CC;">Number</span>;<span style="color: #808080; font-style: italic;">//how many enemies are left on the field</span>
enemyArray = <span style="color: #66cc66;">&#91;</span><span style="color: #808080; font-style: italic;">//defining the array</span>
			<span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#93;</span>,<span style="color: #808080; font-style: italic;">//1's will just represent an enemy to be created</span>
			<span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#93;</span>,<span style="color: #808080; font-style: italic;">//another row means another level</span>
			<span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#93;</span>
			  <span style="color: #66cc66;">&#93;</span>;</pre></div></div>

<p>I&#8217;ve extensively commented on what each variable does. Next, we need to create an <tt>onEnterFrame()</tt> function with a few actions, along with a few other stuff. Program this into the bottom of the code:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #0066CC;">createEmptyMovieClip</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'enemyHolder'</span>,<span style="color: #0066CC;">_root</span>.<span style="color: #0066CC;">getNextHighestDepth</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;<span style="color: #808080; font-style: italic;">//create a movieclip that will hold the enemy</span>
&nbsp;
<span style="color: #0066CC;">_root</span>.<span style="color: #0066CC;">onEnterFrame</span> = <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
	makeEnemies<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<span style="color: #808080; font-style: italic;">//we'll just make some enemies</span>
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> makeEnemies<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Void</span><span style="color: #66cc66;">&#123;</span><span style="color: #808080; font-style: italic;">//this function will add enemies to the field</span>
	<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>enemyTime <span style="color: #66cc66;">&amp;</span>lt; enemyLimit<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span><span style="color: #808080; font-style: italic;">//if it isn't time to make them yet</span>
		enemyTime ++;<span style="color: #808080; font-style: italic;">//then keep on waiting</span>
	<span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #66cc66;">&#123;</span><span style="color: #808080; font-style: italic;">//otherwise</span>
		<span style="color: #000000; font-weight: bold;">var</span> theCode:<span style="color: #0066CC;">Number</span> = enemyArray<span style="color: #66cc66;">&#91;</span>currentLvl-<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span>currentEnemy<span style="color: #66cc66;">&#93;</span>;<span style="color: #808080; font-style: italic;">//get the code from the array</span>
		<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>theCode == <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span><span style="color: #808080; font-style: italic;">//if it's set as 1</span>
			<span style="color: #808080; font-style: italic;">//then create a new enemy and add it to the enemy holder</span>
			enemyHolder.<span style="color: #0066CC;">createEmptyMovieClip</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy,enemyHolder.<span style="color: #0066CC;">getNextHighestDepth</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
			<span style="color: #808080; font-style: italic;">//now we're going to draw the enemy. It'll just be a tiny red circle</span>
			enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">beginFill</span><span style="color: #66cc66;">&#40;</span>0xFF0000<span style="color: #66cc66;">&#41;</span>;<span style="color: #808080; font-style: italic;">//coloring them red gray</span>
			enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">moveTo</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">2.5</span><span style="color: #66cc66;">&#41;</span>;<span style="color: #808080; font-style: italic;">//move the entire shape a certain way</span>
			<span style="color: #808080; font-style: italic;">//create 4 curves so that it'll look like a circle</span>
			enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">curveTo</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">10</span>,<span style="color: #cc66cc;">5</span>,<span style="color: #cc66cc;">10</span><span style="color: #66cc66;">&#41;</span>;
			enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">curveTo</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">10</span>,<span style="color: #cc66cc;">10</span>,<span style="color: #cc66cc;">10</span>,<span style="color: #cc66cc;">5</span><span style="color: #66cc66;">&#41;</span>;
			enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">curveTo</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">10</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">5</span>,<span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>;
			enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">curveTo</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">5</span><span style="color: #66cc66;">&#41;</span>;
			enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">endFill</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<span style="color: #808080; font-style: italic;">//end the fill</span>
		<span style="color: #66cc66;">&#125;</span>
		currentEnemy ++;<span style="color: #808080; font-style: italic;">//move on to the next enemy</span>
		enemyTime = <span style="color: #cc66cc;">0</span>;<span style="color: #808080; font-style: italic;">//and reset the time</span>
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>Now, if you test out the game, a red dot should appear on the top left corner of the screen. But, this isn&#8217;t what we want for our game, is it? In order to place the enemy so that it&#8217;s right next to the start point, we&#8217;re going to have to add some code. Remember the variables <tt>startDir</tt> and <tt>finDir</tt> that we created all that time ago? If you don&#8217;t here&#8217;s what it should look like at around line 11:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">var</span> startDir:<span style="color: #0066CC;">String</span>;<span style="color: #808080; font-style: italic;">//the direction the enemies go when they enter</span>
<span style="color: #000000; font-weight: bold;">var</span> finDir:<span style="color: #0066CC;">String</span>;<span style="color: #808080; font-style: italic;">//the direction the enemies go when they exit</span>
<span style="color: #000000; font-weight: bold;">var</span> startCoord:<span style="color: #0066CC;">Number</span>;<span style="color: #808080; font-style: italic;">//the coordinates of the beginning of the road</span></pre></div></div>

<p>Well, we&#8217;re going to use these variables. Find in the <tt>makeRoad()</tt> function where we create add in the <strong>SPECIAL DIRECTIONAL ROAD PIECE</strong> (around line 129). Add the following code to the bottom of that <tt>if</tt> statement:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>lvlArray<span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span> == <span style="color: #ff0000;">'START'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span><span style="color: #808080; font-style: italic;">//if this is a start block</span>
	<span style="color: #808080; font-style: italic;">//then define the startDir and StartCoord based on it's coordinates</span>
	<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>roadHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'block'</span>+i<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_x</span> == <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
		<span style="color: #0066CC;">_root</span>.<span style="color: #006600;">startDir</span> = <span style="color: #ff0000;">'RIGHT'</span>;
		<span style="color: #0066CC;">_root</span>.<span style="color: #006600;">startCoord</span> = roadHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'block'</span>+i<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_y</span>;
	<span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>roadHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'block'</span>+i<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_y</span> == <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
		<span style="color: #0066CC;">_root</span>.<span style="color: #006600;">startDir</span> = <span style="color: #ff0000;">'DOWN'</span>;
		<span style="color: #0066CC;">_root</span>.<span style="color: #006600;">startCoord</span> = roadHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'block'</span>+i<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_x</span>;
	<span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>roadHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'block'</span>+i<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_x</span> == <span style="color: #cc66cc;">525</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
		<span style="color: #0066CC;">_root</span>.<span style="color: #006600;">startDir</span> = <span style="color: #ff0000;">'LEFT'</span>;
		<span style="color: #0066CC;">_root</span>.<span style="color: #006600;">startCoord</span> = roadHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'block'</span>+i<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_y</span>;
	<span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>roadHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'block'</span>+i<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_y</span> == <span style="color: #cc66cc;">275</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
		<span style="color: #0066CC;">_root</span>.<span style="color: #006600;">startDir</span> = <span style="color: #ff0000;">'UP'</span>;
		<span style="color: #0066CC;">_root</span>.<span style="color: #006600;">startCoord</span> = roadHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'block'</span>+i<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_x</span>;
	<span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #66cc66;">&#123;</span>
		<span style="color: #808080; font-style: italic;">//this level won't work if not any of these values</span>
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>lvlArray<span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span> == <span style="color: #ff0000;">'FINISH'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span><span style="color: #808080; font-style: italic;">//if this is a finish block</span>
	<span style="color: #808080; font-style: italic;">//then define the finDir based on it's coordinates</span>
	<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>roadHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'block'</span>+i<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_x</span> == <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
		<span style="color: #0066CC;">_root</span>.<span style="color: #006600;">finDir</span> = <span style="color: #ff0000;">'LEFT'</span>;
	<span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>roadHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'block'</span>+i<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_y</span> == <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
		<span style="color: #0066CC;">_root</span>.<span style="color: #006600;">finDir</span> = <span style="color: #ff0000;">'UP'</span>;
	<span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>roadHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'block'</span>+i<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_x</span> == <span style="color: #cc66cc;">525</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
		<span style="color: #0066CC;">_root</span>.<span style="color: #006600;">finDir</span> = <span style="color: #ff0000;">'RIGHT'</span>;
	<span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>roadHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'block'</span>+i<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_y</span> == <span style="color: #cc66cc;">275</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
		<span style="color: #0066CC;">_root</span>.<span style="color: #006600;">finDir</span> = <span style="color: #ff0000;">'DOWN'</span>;
	<span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #66cc66;">&#123;</span>
		<span style="color: #808080; font-style: italic;">//this level won't work if not any of these values</span>
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>Next, we have to take the variables we just defined in this code and make the enemy use them. We also have to make the enemy move along the path. Go back to the <tt>makeEnemies()</tt> function and add the following code in the <tt>if(theCode == 1){</tt> statement:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">//add a few variables to the enemy</span>
enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">maxSpeed</span> = <span style="color: #cc66cc;">3</span>;<span style="color: #808080; font-style: italic;">//how fast it can possibly go</span>
enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">xSpeed</span> = <span style="color: #cc66cc;">0</span>;
enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">ySpeed</span> = <span style="color: #cc66cc;">0</span>;
<span style="color: #808080; font-style: italic;">//checking what the start direction is</span>
<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">_root</span>.<span style="color: #006600;">startDir</span> == <span style="color: #ff0000;">'UP'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span><span style="color: #808080; font-style: italic;">//if it's starting up</span>
	enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_y</span> = <span style="color: #cc66cc;">300</span>;<span style="color: #808080; font-style: italic;">//set the y value off the field</span>
	enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_x</span> = <span style="color: #0066CC;">_root</span>.<span style="color: #006600;">startCoord</span>;<span style="color: #808080; font-style: italic;">//make the x value where it should be</span>
	enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">xSpeed</span> = <span style="color: #cc66cc;">0</span>;<span style="color: #808080; font-style: italic;">//make it not move horizontally</span>
	enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">ySpeed</span> = -enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">maxSpeed</span>;<span style="color: #808080; font-style: italic;">//make it move upwards</span>
<span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">_root</span>.<span style="color: #006600;">startDir</span> == <span style="color: #ff0000;">'RIGHT'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span><span style="color: #808080; font-style: italic;">//and so on for other directions</span>
	enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_x</span> = -<span style="color: #cc66cc;">25</span>;
	enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_y</span> = <span style="color: #0066CC;">_root</span>.<span style="color: #006600;">startCoord</span>;
	enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">xSpeed</span> = enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">maxSpeed</span>;
	enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">ySpeed</span> = <span style="color: #cc66cc;">0</span>;
<span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">_root</span>.<span style="color: #006600;">startDir</span> == <span style="color: #ff0000;">'DOWN'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
	enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_y</span> = -<span style="color: #cc66cc;">25</span>;
	enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_x</span> = <span style="color: #0066CC;">_root</span>.<span style="color: #006600;">startCoord</span>;
	enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">xSpeed</span> = <span style="color: #cc66cc;">0</span>;
	enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">ySpeed</span> = enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">maxSpeed</span>;
<span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">_root</span>.<span style="color: #006600;">startDir</span> == <span style="color: #ff0000;">'LEFT'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
	enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_x</span> = <span style="color: #cc66cc;">550</span>;
	enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_y</span> = <span style="color: #0066CC;">_root</span>.<span style="color: #006600;">startCoord</span>;
	enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">xSpeed</span> = -enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">maxSpeed</span>;
	enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">ySpeed</span> = <span style="color: #cc66cc;">0</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_x</span> += <span style="color: #cc66cc;">5</span>;<span style="color: #808080; font-style: italic;">//fixing the x value</span>
enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_y</span> += <span style="color: #cc66cc;">5</span>;<span style="color: #808080; font-style: italic;">//fixing up the y value</span>
&nbsp;
enemyHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+currentEnemy<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">onEnterFrame</span> = <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span><span style="color: #808080; font-style: italic;">//give it some functions</span>
	<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_x</span> += <span style="color: #0066CC;">this</span>.<span style="color: #006600;">xSpeed</span>;
	<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_y</span> += <span style="color: #0066CC;">this</span>.<span style="color: #006600;">ySpeed</span>;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>The final thing we have to do in this lesson is make the enemy turn when it should turn. To do this, we must go back to the <strong>Directional Block</strong>. We&#8217;re going to use the directional block to access all of the enemies coordinates. If the coordinates are close enough to the block, then it will make the enemy change direction. Find the <tt>if(String(lvlArray[i])){</tt> statement in the <tt>makeRoad()</tt> function. Add this code to the end of it:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">roadHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'block'</span>+i<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">directType</span> = lvlArray<span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span>;<span style="color: #808080; font-style: italic;">//accessing the type of block it is</span>
roadHolder<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'block'</span>+i<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">onEnterFrame</span> = <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span><span style="color: #808080; font-style: italic;">//add some functions to this block</span>
	<span style="color: #808080; font-style: italic;">//then it'll act as a directioning block</span>
	<span style="color: #b1b100;">for</span><span style="color: #66cc66;">&#40;</span>i = <span style="color: #cc66cc;">0</span>;i<span style="color: #66cc66;">&amp;</span>lt;_root.<span style="color: #006600;">enemyArray</span><span style="color: #66cc66;">&#91;</span>currentLvl-<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">length</span>;i++<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span><span style="color: #808080; font-style: italic;">//create a loop</span>
		<span style="color: #808080; font-style: italic;">//if the enemy's coordinates are too close to this block</span>
		<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_x</span> <span style="color: #66cc66;">&amp;</span>gt;= <span style="color: #0066CC;">_root</span>.<span style="color: #006600;">enemyHolder</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+i<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_x</span> - <span style="color: #0066CC;">_root</span>.<span style="color: #006600;">enemyHolder</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+i<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_width</span><span style="color: #66cc66;">*</span>.5
		<span style="color: #66cc66;">&amp;</span>amp;<span style="color: #66cc66;">&amp;</span>amp; <span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_x</span> +<span style="color: #cc66cc;">6</span><span style="color: #66cc66;">&amp;</span>lt;= <span style="color: #0066CC;">_root</span>.<span style="color: #006600;">enemyHolder</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+i<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_x</span> + <span style="color: #0066CC;">_root</span>.<span style="color: #006600;">enemyHolder</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+i<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_width</span><span style="color: #66cc66;">*</span>.5
		<span style="color: #66cc66;">&amp;</span>amp;<span style="color: #66cc66;">&amp;</span>amp; <span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_y</span> <span style="color: #66cc66;">&amp;</span>gt;= <span style="color: #0066CC;">_root</span>.<span style="color: #006600;">enemyHolder</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+i<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_y</span> - <span style="color: #0066CC;">_root</span>.<span style="color: #006600;">enemyHolder</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+i<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_height</span><span style="color: #66cc66;">*</span>.5
		<span style="color: #66cc66;">&amp;</span>amp;<span style="color: #66cc66;">&amp;</span>amp; <span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_y</span> +<span style="color: #cc66cc;">6</span><span style="color: #66cc66;">&amp;</span>lt;= <span style="color: #0066CC;">_root</span>.<span style="color: #006600;">enemyHolder</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+i<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_y</span> + <span style="color: #0066CC;">_root</span>.<span style="color: #006600;">enemyHolder</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+i<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_height</span><span style="color: #66cc66;">*</span>.5<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
			<span style="color: #808080; font-style: italic;">//then move the enemy's direction based on what direction this block points to</span>
			<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>.<span style="color: #006600;">directType</span> == <span style="color: #ff0000;">'UP'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
				<span style="color: #0066CC;">_root</span>.<span style="color: #006600;">enemyHolder</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+i<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">xSpeed</span> = <span style="color: #cc66cc;">0</span>;
				<span style="color: #0066CC;">_root</span>.<span style="color: #006600;">enemyHolder</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+i<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">ySpeed</span> = -<span style="color: #0066CC;">_root</span>.<span style="color: #006600;">enemyHolder</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+i<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">maxSpeed</span>;
			<span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>.<span style="color: #006600;">directType</span> == <span style="color: #ff0000;">'RIGHT'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
				<span style="color: #0066CC;">_root</span>.<span style="color: #006600;">enemyHolder</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+i<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">xSpeed</span> = <span style="color: #0066CC;">_root</span>.<span style="color: #006600;">enemyHolder</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+i<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">maxSpeed</span>;
				<span style="color: #0066CC;">_root</span>.<span style="color: #006600;">enemyHolder</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+i<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">ySpeed</span> = <span style="color: #cc66cc;">0</span>;
			<span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>.<span style="color: #006600;">directType</span> == <span style="color: #ff0000;">'DOWN'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
				<span style="color: #0066CC;">_root</span>.<span style="color: #006600;">enemyHolder</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+i<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">xSpeed</span> = <span style="color: #cc66cc;">0</span>;
				<span style="color: #0066CC;">_root</span>.<span style="color: #006600;">enemyHolder</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+i<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">ySpeed</span> = <span style="color: #0066CC;">_root</span>.<span style="color: #006600;">enemyHolder</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+i<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">maxSpeed</span>;
			<span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>.<span style="color: #006600;">directType</span> == <span style="color: #ff0000;">'LEFT'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
				<span style="color: #0066CC;">_root</span>.<span style="color: #006600;">enemyHolder</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+i<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">xSpeed</span> = <span style="color: #0066CC;">_root</span>.<span style="color: #006600;">enemyHolder</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+i<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">maxSpeed</span>;
				<span style="color: #0066CC;">_root</span>.<span style="color: #006600;">enemyHolder</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'enemy'</span>+i<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">ySpeed</span> = <span style="color: #cc66cc;">0</span>;
			<span style="color: #66cc66;">&#125;</span>
		<span style="color: #66cc66;">&#125;</span>
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.flashgametuts.com/tutorials/advanced/how-to-create-a-tower-defense-game-in-as2-part-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Create a Tower Defense Game in AS2 &#8211; Part 2</title>
		<link>http://www.flashgametuts.com/tutorials/advanced/how-to-create-a-tower-defense-game-in-as2-part-2/</link>
		<comments>http://www.flashgametuts.com/tutorials/advanced/how-to-create-a-tower-defense-game-in-as2-part-2/#comments</comments>
		<pubDate>Sat, 25 Jul 2009 12:02:57 +0000</pubDate>
		<dc:creator>Mr Sun</dc:creator>
				<category><![CDATA[AS2]]></category>
		<category><![CDATA[Advanced]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[defense]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[tower]]></category>
		<category><![CDATA[tower defense]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.mrsunstudios.com/?p=1491</guid>
		<description><![CDATA[Okay, so in this part of the tutorial, we are going to make it so when the user clicks on any of the empty blocks, a turret is created. Let&#8217;s begin, shall we? Open up your main flash file and find the code where we set the empty block&#8217;s onRollOver() and onRollOut functions. Well, now [...]]]></description>
			<content:encoded><![CDATA[<p>Okay, so in this part of the tutorial, we are going to make it so when the user clicks on any of the empty blocks, a turret is created. Let&#8217;s begin, shall we?</p>
<p>Open up your main flash file and find the code where we set the empty block&#8217;s <tt>onRollOver()</tt> and <tt>onRollOut</tt> functions. Well, now we&#8217;re going to create a <tt>onRelease()</tt> function, which just means clicking. Add this code to around <strong>Line 65</strong>, or after you set the <tt>onRollOver</tt> and <tt>onRollOut</tt> functions:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'block'</span>+i<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">onRelease</span> = <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
	<span style="color: #808080; font-style: italic;">//this function will run when the empty block is clicked on</span>
&nbsp;
	<span style="color: #808080; font-style: italic;">//change this guy's color back</span>
	<span style="color: #000000; font-weight: bold;">var</span> newColor = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Color</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span><span style="color: #66cc66;">&#41;</span>;
	newColor.<span style="color: #0066CC;">setRGB</span><span style="color: #66cc66;">&#40;</span>0x333333<span style="color: #66cc66;">&#41;</span>;
	<span style="color: #808080; font-style: italic;">//set all other mouse functions to null in order to keep it from being clicked again</span>
	<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">onRollOver</span> = <span style="color: #000000; font-weight: bold;">null</span>;
	<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">onRollOut</span> = <span style="color: #000000; font-weight: bold;">null</span>;
	<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">onRelease</span> = <span style="color: #000000; font-weight: bold;">null</span>;
	<span style="color: #808080; font-style: italic;">//create an empty turret movieclip that will be on the top root layer</span>
	<span style="color: #0066CC;">_root</span>.<span style="color: #0066CC;">createEmptyMovieClip</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span>,<span style="color: #0066CC;">_root</span>.<span style="color: #0066CC;">getNextHighestDepth</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
	<span style="color: #808080; font-style: italic;">//drawing the turret, it will have a gray, circular, base with a white gun</span>
	<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">beginFill</span><span style="color: #66cc66;">&#40;</span>0x999999<span style="color: #66cc66;">&#41;</span>;<span style="color: #808080; font-style: italic;">//coloring the base light gray</span>
	<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">moveTo</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">12.5</span><span style="color: #66cc66;">&#41;</span>;<span style="color: #808080; font-style: italic;">//move the entire shape a certain way</span>
	<span style="color: #808080; font-style: italic;">//create 4 curves so that it'll look like a circle</span>
	<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">curveTo</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">25</span>,<span style="color: #cc66cc;">12.5</span>,<span style="color: #cc66cc;">25</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">curveTo</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">25</span>,<span style="color: #cc66cc;">25</span>,<span style="color: #cc66cc;">25</span>,<span style="color: #cc66cc;">12.5</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">curveTo</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">25</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">12.5</span>,<span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">curveTo</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">12.5</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">endFill</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<span style="color: #808080; font-style: italic;">//end the fill so we can make a new one</span>
&nbsp;
	<span style="color: #808080; font-style: italic;">//creating the gun</span>
	<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">createEmptyMovieClip</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'gun'</span>,<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">getNextHighestDepth</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">gun</span>.<span style="color: #0066CC;">beginFill</span><span style="color: #66cc66;">&#40;</span>0xFFFFFF<span style="color: #66cc66;">&#41;</span>;
	<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">gun</span>.<span style="color: #0066CC;">lineTo</span><span style="color: #66cc66;">&#40;</span>-<span style="color: #cc66cc;">2</span>,-<span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">gun</span>.<span style="color: #0066CC;">lineTo</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">2</span>,-<span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">gun</span>.<span style="color: #0066CC;">lineTo</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">2</span>,<span style="color: #cc66cc;">15</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">gun</span>.<span style="color: #0066CC;">lineTo</span><span style="color: #66cc66;">&#40;</span>-<span style="color: #cc66cc;">2</span>,<span style="color: #cc66cc;">15</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">gun</span>.<span style="color: #0066CC;">lineTo</span><span style="color: #66cc66;">&#40;</span>-<span style="color: #cc66cc;">2</span>,-<span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">gun</span>.<span style="color: #0066CC;">endFill</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #808080; font-style: italic;">//setting the gun to be on the center of the turret</span>
	<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">gun</span>.<span style="color: #0066CC;">_x</span> = <span style="color: #cc66cc;">12.5</span>;
	<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">gun</span>.<span style="color: #0066CC;">_y</span> = <span style="color: #cc66cc;">12.5</span>;
	<span style="color: #808080; font-style: italic;">//set the turrets coordinates to be the blocks coordinates</span>
	<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_x</span> = <span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_x</span>;
	<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'t'</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_y</span> = <span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_y</span>;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>Well, it&#8217;s a lot of code, but it gets the job done.</p>
<p>That&#8217;s it for this part of the tutorial. Next time, we&#8217;ll create and program some enemies!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flashgametuts.com/tutorials/advanced/how-to-create-a-tower-defense-game-in-as2-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Create a Tower Defense Game in AS2 &#8211; Part 1</title>
		<link>http://www.flashgametuts.com/tutorials/advanced/how-to-create-a-tower-defense-game-in-as2-part-1/</link>
		<comments>http://www.flashgametuts.com/tutorials/advanced/how-to-create-a-tower-defense-game-in-as2-part-1/#comments</comments>
		<pubDate>Sat, 25 Jul 2009 12:01:32 +0000</pubDate>
		<dc:creator>Mr Sun</dc:creator>
				<category><![CDATA[AS2]]></category>
		<category><![CDATA[Advanced]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[defense]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[tower]]></category>
		<category><![CDATA[tower defense]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.mrsunstudios.com/?p=1481</guid>
		<description><![CDATA[The tower defense genre is one that has become extremely popular over the years. Although they can become quite complicated to develop, they are almost always very fun to play. I am here to walk you through the creation of one of these games. Let us begin, shall we? In this section of the tutorial, [...]]]></description>
			<content:encoded><![CDATA[<p>The tower defense genre is one that has become extremely popular over the years. Although they can become quite complicated to develop, they are almost always very fun to play. I am here to walk you through the creation of one of these games. Let us begin, shall we?</p>
<p>In this section of the tutorial, we&#8217;re going to set up the roads and stuff onto the stage. However, the first thing we need to do is create a blank flash document with a black background with the frames per second set at 24.</p>
<p>Now, we can dive into some code. Let&#8217;s first create some code that will lay down the track for the enemies to go through. Create a new layer called &#8220;actions&#8221; and add the following code to it:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #0066CC;">stop</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">//setting vars to step in for turns and special blocks</span>
<span style="color: #000000; font-weight: bold;">var</span> S:<span style="color: #0066CC;">String</span> = <span style="color: #ff0000;">'START'</span>;
<span style="color: #000000; font-weight: bold;">var</span> F:<span style="color: #0066CC;">String</span> = <span style="color: #ff0000;">'FINISH'</span>;
<span style="color: #000000; font-weight: bold;">var</span> U:<span style="color: #0066CC;">String</span> = <span style="color: #ff0000;">'UP'</span>;
<span style="color: #000000; font-weight: bold;">var</span> R:<span style="color: #0066CC;">String</span> = <span style="color: #ff0000;">'RIGHT'</span>;
<span style="color: #000000; font-weight: bold;">var</span> D:<span style="color: #0066CC;">String</span> = <span style="color: #ff0000;">'DOWN'</span>;
<span style="color: #000000; font-weight: bold;">var</span> L:<span style="color: #0066CC;">String</span> = <span style="color: #ff0000;">'LEFT'</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">var</span> startDir:<span style="color: #0066CC;">String</span>;<span style="color: #808080; font-style: italic;">//the direction the enemies go when they enter</span>
<span style="color: #000000; font-weight: bold;">var</span> finDir:<span style="color: #0066CC;">String</span>;<span style="color: #808080; font-style: italic;">//the direction the enemies go when they exit</span>
<span style="color: #000000; font-weight: bold;">var</span> startCoord:<span style="color: #0066CC;">Number</span>;<span style="color: #808080; font-style: italic;">//the coordinates of the beginning of the road</span>
<span style="color: #000000; font-weight: bold;">var</span> lvlArray:<span style="color: #0066CC;">Array</span> = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Array</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<span style="color: #808080; font-style: italic;">//this array will hold the formatting of the roads</span>
&nbsp;
lvlArray = <span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,
			<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,
			<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,R,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,D,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,R,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,D,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,R,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,D,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,
			<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,
			<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,
			S,D,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,R,<span style="color: #cc66cc;">1</span>,F,
			<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,
			<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,
			<span style="color: #cc66cc;">0</span>,R,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,U,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,R,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,U,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,R,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,U,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,
			<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,
			<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,
			<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>
			<span style="color: #66cc66;">&#93;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">//the names of these variables explain what they do</span>
<span style="color: #000000; font-weight: bold;">var</span> currentLvl:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">1</span>;
<span style="color: #000000; font-weight: bold;">var</span> gameOver:<span style="color: #0066CC;">Boolean</span> = <span style="color: #000000; font-weight: bold;">false</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> startGame<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Void</span><span style="color: #66cc66;">&#123;</span><span style="color: #808080; font-style: italic;">//we'll run this function every time a new level begins</span>
	<span style="color: #808080; font-style: italic;">//right now we don't have any code</span>
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #0066CC;">_root</span>.<span style="color: #0066CC;">createEmptyMovieClip</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'roadHolder'</span>,<span style="color: #0066CC;">_root</span>.<span style="color: #0066CC;">getNextHighestDepth</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;<span style="color: #808080; font-style: italic;">//add a MovieClip to hold the road</span>
<span style="color: #000000; font-weight: bold;">function</span> makeRoad<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Void</span><span style="color: #66cc66;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">var</span> row:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">0</span>;<span style="color: #808080; font-style: italic;">//the current row we're working on</span>
	<span style="color: #000000; font-weight: bold;">var</span> block;<span style="color: #808080; font-style: italic;">//this will act as the block that we're placing down</span>
	<span style="color: #b1b100;">for</span><span style="color: #66cc66;">&#40;</span>i=<span style="color: #cc66cc;">0</span>;i</pre></div></div>

<p>That&#8217;s a lot of code, ain&#8217;t it? Hopefully, I&#8217;ve given you enough instructions in the comments. If you test out our game, a nice little path should be shown which the enemies will travel through, along with some blank gray boxes where we&#8217;ll be able to place some turrets.</p>
<p>Before I end this part of the tutorial, I want to give these empty boxes some <tt>rollOver</tt> and <tt>rollOut</tt> effects. Find where I added the comment saying <tt>/////*****EMPTY BLOCK*****/////</tt> (lines 44-54). Add this code to the bottom of that section of the <tt>if</tt> statement:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'block'</span>+i<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">onRollOver</span> = <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
	<span style="color: #808080; font-style: italic;">//Change the color to green</span>
	<span style="color: #000000; font-weight: bold;">var</span> newColor = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Color</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span><span style="color: #66cc66;">&#41;</span>;
	newColor.<span style="color: #0066CC;">setRGB</span><span style="color: #66cc66;">&#40;</span>0x006600<span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'block'</span>+i<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">onRollOut</span> = <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
	<span style="color: #808080; font-style: italic;">//Change this color back to gray</span>
	<span style="color: #000000; font-weight: bold;">var</span> newColor = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Color</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span><span style="color: #66cc66;">&#41;</span>;
	newColor.<span style="color: #0066CC;">setRGB</span><span style="color: #66cc66;">&#40;</span>0x333333<span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.flashgametuts.com/tutorials/advanced/how-to-create-a-tower-defense-game-in-as2-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Create a Brick Breaker Game in AS2 &#8211; Part 6</title>
		<link>http://www.flashgametuts.com/tutorials/as2/how-to-create-a-brick-breaker-game-in-as2-part-6/</link>
		<comments>http://www.flashgametuts.com/tutorials/as2/how-to-create-a-brick-breaker-game-in-as2-part-6/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 12:05:47 +0000</pubDate>
		<dc:creator>Mr Sun</dc:creator>
				<category><![CDATA[AS2]]></category>
		<category><![CDATA[Beginner]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[beginners]]></category>
		<category><![CDATA[brick breaker]]></category>
		<category><![CDATA[clone]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.mrsunstudios.com/?p=1073</guid>
		<description><![CDATA[Well, we&#8217;re almost done with our game, now we just have to add some finishing touches. I won&#8217;t make a menu system like you usually should in a game before releasing it. But, this is just a tutorial, and hopefully you&#8217;ve learned something. You probably already know how to make a menu anyway. Also, I&#8217;m [...]]]></description>
			<content:encoded><![CDATA[<p>Well, we&#8217;re almost done with our game, now we just have to add some finishing touches. I won&#8217;t make a menu system like you usually should in a game before releasing it. But, this is just a tutorial, and hopefully you&#8217;ve learned something. You probably already know how to make a menu anyway. Also, I&#8217;m not going to teach you how to do some of the things that we need because hopefully you can do it yourself. If you can&#8217;t , there&#8217;s always the source file at the bottom.</p>
<p>Now, where were we? Oh yes. I realized that the last lesson, we were supposed to make more levels. I taught a lot of stuff, but I forgot to make more levels for you! I apologize. Anyway, here&#8217;s an example of a 5 level game (Put it on the first frame).</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">//The array code for lvl 1</span>
<span style="color: #808080; font-style: italic;">//All of the later levels add one more row of bricks</span>
<span style="color: #000000; font-weight: bold;">var</span> lvl1Code:<span style="color: #0066CC;">Array</span> = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Array</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">var</span> lvl2Code:<span style="color: #0066CC;">Array</span> = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Array</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">var</span> lvl3Code:<span style="color: #0066CC;">Array</span> = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Array</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">var</span> lvl4Code:<span style="color: #0066CC;">Array</span> = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Array</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">var</span> lvl5Code:<span style="color: #0066CC;">Array</span> = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Array</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">//The array that contains all of the level codes</span>
<span style="color: #000000; font-weight: bold;">var</span> lvlArray:<span style="color: #0066CC;">Array</span> = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Array</span><span style="color: #66cc66;">&#40;</span>lvl1Code, lvl2Code, lvl3Code, lvl4Code, lvl5Code<span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>It&#8217;ll be a pretty straightforward game. Next, I think the gamer needs to know that he has to click the screen to start, and not think the the game is frozen or something. So, just add a dynamic textfield to the middle of the stage. Give it an instance game of <tt>txtStart</tt>, and make sure it isn&#8217;t selectable.<br />
<img src="http://www.flashgametuts.com/obj/tuts/brick-breaker-as3/pt6/text-properties.gif" alt="Make sure that these properties are what you have" /></p>
<p>Next, add this code at the end of the frame.</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">//setting the text's word</span>
txtStart.<span style="color: #0066CC;">text</span> = <span style="color: #ff0000;">&quot;Click To Begin&quot;</span>;</pre></div></div>

<p>You can make the text different, but don&#8217;t be too mean. Next, we have to remove the text, which we can do in the mcBg&#8217;s <tt>onRelease()</tt> function. We aren&#8217;t going to remove the text field itself because we need it again for every level.</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">//removing the &quot;Click to Start&quot; Text</span>
txtStart.<span style="color: #0066CC;">text</span> = <span style="color: #ff0000;">''</span>;</pre></div></div>

<p>Now, we have to reset it every level. I&#8217;m not going to tell you how to do it. I hope you&#8217;ve learned enough to be able to.</p>
<p>Now, we can make the scoring happen. 10 points should be awarded to the player for destroying one brick. I&#8217;ll leave it to you to find out how to do this.</p>
<p>The next thing we have to do is display the current level, the score, and how many lives the user has. This will be pretty simple as well, so I won&#8217;t really go into details about how to do it. Just create a dynamic text field and update it in the <tt>onEnterFrame()</tt> function. Pretty easy, eh?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flashgametuts.com/tutorials/as2/how-to-create-a-brick-breaker-game-in-as2-part-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Create a Brick Breaker Game in AS2 &#8211; Part 5</title>
		<link>http://www.flashgametuts.com/tutorials/as2/how-to-create-a-brick-breaker-game-in-as2-part-5/</link>
		<comments>http://www.flashgametuts.com/tutorials/as2/how-to-create-a-brick-breaker-game-in-as2-part-5/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 12:04:46 +0000</pubDate>
		<dc:creator>Mr Sun</dc:creator>
				<category><![CDATA[AS2]]></category>
		<category><![CDATA[Beginner]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[beginners]]></category>
		<category><![CDATA[brick breaker]]></category>
		<category><![CDATA[clone]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.mrsunstudios.com/?p=1071</guid>
		<description><![CDATA[Now that we&#8217;ve got the basic gameplay down, we can create some levels. Because we&#8217;re making only a simple game, we aren&#8217;t going to make that many. But before we even start making multiple levels, we have to make it possible to win or lose a level. This will be pretty easy. We&#8217;re first going [...]]]></description>
			<content:encoded><![CDATA[<p>Now that we&#8217;ve got the basic gameplay down, we can create some levels. Because we&#8217;re making only a simple game, we aren&#8217;t going to make that many. But before we even start making multiple levels, we have to make it possible to win or lose a level. This will be pretty easy.</p>
<p>We&#8217;re first going make it possible to beat the level. In order for this to happen, we have to track how many bricks are on the stage. Just define the following variable at the top of the code.</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">var</span> brickAmt:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">0</span>;</pre></div></div>

<p>Now, we have to increment this number every time a brick is placed onto the stage. Type in this code into the <tt>makeLvl()</tt> function where we actually create the brick:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">//incrementing how many bricks are on the stage</span>
<span style="color: #0066CC;">_root</span>.<span style="color: #006600;">brickAmt</span> ++;</pre></div></div>

<p>Next, we have to decrement the number every time a brick is destroyed. Just type in this code in the <tt>hitTest</tt> if statement:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">//decrementing how many bricks are on the stage</span>
<span style="color: #0066CC;">_root</span>.<span style="color: #006600;">brickAmt</span> --;</pre></div></div>

<p>That was pretty easy, right? Now, we have to add some code that will check if the value of bricks is 0.<br />
You can do so in the <tt>onEnterFrame()</tt> function:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">//checking if the bricks are all gone</span>
<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>brickAmt == <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
	<span style="color: #808080; font-style: italic;">//reset the level by increasing the level</span>
	currentLvl ++;
	<span style="color: #808080; font-style: italic;">//and re-running makeLvl</span>
	makeLvl<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>When this code runs, nothing will happen when you break all of the bricks because we haven&#8217;t defined more levels. But, there is one thing I want to fix before doing that. The game starts automatically, even if the player isn&#8217;t ready. So, we want to start the level only when the user first clicks on the screen. This is actually easier than you might think. The first thing we need to do is create a black rectangle that covers the entire stage. Then, we have to turn it into a MovieClip. Name it mcBg, Export it for ActionScript, and give it an instance name of mcBg. Then, add the following to the bottom of the code:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">mcBg.<span style="color: #0066CC;">onRelease</span> = <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span> <span style="color: #808080; font-style: italic;">//creating a function that will run when bg is clicked</span>
	<span style="color: #808080; font-style: italic;">//move the bg out of range so it isn't bothersome</span>
	mcBg.<span style="color: #0066CC;">_x</span> = <span style="color: #cc66cc;">800</span>;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>Now, we have to add the <strong>entire</strong> <tt>onEnterFrame()</tt> function to this, so it looks like this:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">mcBg.<span style="color: #0066CC;">onRelease</span> = <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span> <span style="color: #808080; font-style: italic;">//creating a function that will run when bg is clicked</span>
	<span style="color: #808080; font-style: italic;">//move the bg out of range so it isn't bothersome</span>
	mcBg.<span style="color: #0066CC;">_x</span> = <span style="color: #cc66cc;">800</span>;
	<span style="color: #0066CC;">_root</span>.<span style="color: #0066CC;">onEnterFrame</span> = <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span> <span style="color: #808080; font-style: italic;">//this function will run during every single frame</span>
		<span style="color: #808080; font-style: italic;">//The paddle follows the mouse</span>
		mcPaddle.<span style="color: #0066CC;">_x</span> = <span style="color: #0066CC;">_xmouse</span> - mcPaddle.<span style="color: #0066CC;">_width</span><span style="color: #66cc66;">*</span>.5;
&nbsp;
		<span style="color: #808080; font-style: italic;">//If the mouse goes off too far to the left</span>
		<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">_xmouse</span> <span style="color: #66cc66;">&lt;</span> mcPaddle.<span style="color: #0066CC;">_width</span> <span style="color: #66cc66;">/</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
			<span style="color: #808080; font-style: italic;">//Keep the paddle on stage</span>
			mcPaddle.<span style="color: #0066CC;">_x</span> = <span style="color: #cc66cc;">0</span>;
		<span style="color: #66cc66;">&#125;</span>
		<span style="color: #808080; font-style: italic;">//If the mouse goes off too far to the right</span>
		<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">_xmouse</span> <span style="color: #66cc66;">&gt;</span> <span style="color: #0066CC;">Stage</span>.<span style="color: #0066CC;">width</span> - mcPaddle.<span style="color: #0066CC;">_width</span> <span style="color: #66cc66;">/</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
			<span style="color: #808080; font-style: italic;">//Keep the paddle on stage</span>
			mcPaddle.<span style="color: #0066CC;">_x</span> = <span style="color: #0066CC;">Stage</span>.<span style="color: #0066CC;">width</span> - mcPaddle.<span style="color: #0066CC;">_width</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #808080; font-style: italic;">//MOVING THE BALL</span>
		mcBall.<span style="color: #0066CC;">_x</span> += ballXSpeed;
		mcBall.<span style="color: #0066CC;">_y</span> += ballYSpeed;
		<span style="color: #808080; font-style: italic;">//Bouncing the ball off of the walls</span>
		<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>mcBall.<span style="color: #0066CC;">_x</span> <span style="color: #66cc66;">&gt;</span>= <span style="color: #0066CC;">Stage</span>.<span style="color: #006600;">width</span>-mcBall.<span style="color: #0066CC;">_width</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
			<span style="color: #808080; font-style: italic;">//if the ball hits the right side</span>
			<span style="color: #808080; font-style: italic;">//of the screen, then bounce off</span>
			ballXSpeed <span style="color: #66cc66;">*</span>= -<span style="color: #cc66cc;">1</span>;
		<span style="color: #66cc66;">&#125;</span>
		<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>mcBall.<span style="color: #0066CC;">_x</span> <span style="color: #66cc66;">&lt;</span>= <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
			<span style="color: #808080; font-style: italic;">//if the ball hits the left side</span>
			<span style="color: #808080; font-style: italic;">//of the screen, then bounce off</span>
			ballXSpeed <span style="color: #66cc66;">*</span>= -<span style="color: #cc66cc;">1</span>;
		<span style="color: #66cc66;">&#125;</span>
		<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>mcBall.<span style="color: #0066CC;">_y</span> <span style="color: #66cc66;">&gt;</span>= <span style="color: #0066CC;">Stage</span>.<span style="color: #006600;">height</span>-mcBall.<span style="color: #0066CC;">_height</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
			<span style="color: #808080; font-style: italic;">//if the ball hits the bottom</span>
			<span style="color: #808080; font-style: italic;">//then bounce up</span>
			ballYSpeed <span style="color: #66cc66;">*</span>= -<span style="color: #cc66cc;">1</span>;
		<span style="color: #66cc66;">&#125;</span>
		<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>mcBall.<span style="color: #0066CC;">_y</span> <span style="color: #66cc66;">&lt;</span>= <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
			<span style="color: #808080; font-style: italic;">//if the ball hits the top</span>
			<span style="color: #808080; font-style: italic;">//then bounce down</span>
			ballYSpeed <span style="color: #66cc66;">*</span>= -<span style="color: #cc66cc;">1</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>mcBall.<span style="color: #0066CC;">hitTest</span><span style="color: #66cc66;">&#40;</span>mcPaddle<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
			<span style="color: #808080; font-style: italic;">//calculate the ball angle if ball hits paddle</span>
			calcBallAngle<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #808080; font-style: italic;">//checking if the bricks are all gone</span>
		<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>brickAmt == <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
			<span style="color: #808080; font-style: italic;">//reset the level by increasing the level</span>
			currentLvl ++;
			<span style="color: #808080; font-style: italic;">//and re-running makeLvl</span>
			makeLvl<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>This is pretty solid code, but it does have some issues. One problem we have to fix is that the level is immediately made after you break all of the bricks, without resetting the ball&#8217;s position or anything (it may not be like that on yours, but trust me, I&#8217;ve tested it). Just paste in this code where we level up in the <tt>onEnterFrame()</tt> function:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">//checking if the bricks are all gone</span>
<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>brickAmt == <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
	<span style="color: #808080; font-style: italic;">//reset the level by increasing the level</span>
	currentLvl ++;
	<span style="color: #808080; font-style: italic;">//and re-running makeLvl</span>
	makeLvl<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #808080; font-style: italic;">//reset the ball's position</span>
	mcBall.<span style="color: #0066CC;">_x</span> = <span style="color: #cc66cc;">175</span>;
	mcBall.<span style="color: #0066CC;">_y</span> = <span style="color: #cc66cc;">250</span>;
	<span style="color: #808080; font-style: italic;">//then move the background back</span>
	mcBg.<span style="color: #0066CC;">_x</span> = <span style="color: #cc66cc;">0</span>;
	<span style="color: #808080; font-style: italic;">//and remove all of these events</span>
	<span style="color: #0066CC;">_root</span>.<span style="color: #0066CC;">onEnterFrame</span> = <span style="color: #000000; font-weight: bold;">null</span>;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>Now that we can beat a level, we now have to lose a level. We&#8217;re going to have to add a lives variable at the top first. We&#8217;re also going add a variable that defines if the game is over.</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">//how many lives you got</span>
<span style="color: #000000; font-weight: bold;">var</span> lives:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">3</span>;
<span style="color: #808080; font-style: italic;">//if the game is over</span>
<span style="color: #000000; font-weight: bold;">var</span> gameOver:<span style="color: #0066CC;">Boolean</span> = <span style="color: #000000; font-weight: bold;">false</span>;</pre></div></div>

<p>Then, we have to subtract a life every time the ball hits the floor and do other stuff when the lives are all gone.</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>mcBall.<span style="color: #0066CC;">_y</span> <span style="color: #66cc66;">&gt;</span>= <span style="color: #0066CC;">Stage</span>.<span style="color: #006600;">height</span>-mcBall.<span style="color: #0066CC;">_height</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
	<span style="color: #808080; font-style: italic;">//if the ball hits the bottom</span>
	<span style="color: #808080; font-style: italic;">//then bounce up and lose a life</span>
	ballYSpeed <span style="color: #66cc66;">*</span>= -<span style="color: #cc66cc;">1</span>;
	lives --;
	<span style="color: #808080; font-style: italic;">//if there aren't any lives left</span>
	<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>lives <span style="color: #66cc66;">&lt;</span>= <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
		<span style="color: #808080; font-style: italic;">//the game is over now</span>
		gameOver = <span style="color: #000000; font-weight: bold;">true</span>;
		<span style="color: #808080; font-style: italic;">//go to a lose frame</span>
		<span style="color: #0066CC;">gotoAndStop</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'lose'</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>Of course, now we have to create a frame called &#8220;lose&#8221;. I&#8217;m just going to make a frame that that has the text, &#8220;YOU LOSE&#8221;. Make sure to give your frame a label of &#8220;lose&#8221;, or the code won&#8217;t work.</p>
<p>Also, we have to remove the bricks from the stage, because they were added dynamically and won&#8217;t go away if you just change a frame. So, type the following code into the brick&#8217;s <tt>onEnterFrame</tt> function.</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">_root</span>.<span style="color: #006600;">gameOver</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span><span style="color: #808080; font-style: italic;">//if game's over</span>
	<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">removeMovieClip</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<span style="color: #808080; font-style: italic;">//then remove this from stage</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>Now, we have to make the player be able to restart the game after losing. This will be easy. Just add the mcBg back to the stage that will reset the game if the stage is clicked. This code should be in the &#8220;lose&#8221; frame:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">mcBg.<span style="color: #0066CC;">_x</span> = <span style="color: #cc66cc;">0</span>; <span style="color: #808080; font-style: italic;">//putting the mcBg back</span>
mcBg.<span style="color: #0066CC;">onRelease</span> = <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
	<span style="color: #0066CC;">gotoAndPlay</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;<span style="color: #808080; font-style: italic;">//restart the game</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>Well, that&#8217;s all for this lesson. The next one will be the final one, where we add some finishing touches, and fix some bugs.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flashgametuts.com/tutorials/as2/how-to-create-a-brick-breaker-game-in-as2-part-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Create a Brick Breaker Game in AS2 &#8211; Part 4</title>
		<link>http://www.flashgametuts.com/tutorials/as2/how-to-create-a-brick-breaker-game-in-as2-part-4/</link>
		<comments>http://www.flashgametuts.com/tutorials/as2/how-to-create-a-brick-breaker-game-in-as2-part-4/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 12:03:45 +0000</pubDate>
		<dc:creator>Mr Sun</dc:creator>
				<category><![CDATA[AS2]]></category>
		<category><![CDATA[Beginner]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[beginners]]></category>
		<category><![CDATA[brick breaker]]></category>
		<category><![CDATA[clone]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.mrsunstudios.com/?p=1069</guid>
		<description><![CDATA[Now that we&#8217;ve actually made the bricks, we can now break them with our ball&#8230; Anyway, this will be pretty easy to accomplish. All you have to do is change this code in the makeLvl() function: if&#40;lvlArray&#91;currentLvl-1&#93;&#91;i&#93; == 1&#41;&#123; //creating a variable which holds the brick instance _root.attachMovie&#40;'mcBrick', 'brick'+i,_root.getNextHighestDepth&#40;&#41;&#41;; //setting the brick's coordinates via the [...]]]></description>
			<content:encoded><![CDATA[<p>Now that we&#8217;ve actually made the bricks, we can now break them with our ball&#8230; Anyway, this will be pretty easy to accomplish. All you have to do is change this code in the <tt>makeLvl()</tt> function:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">		<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>lvlArray<span style="color: #66cc66;">&#91;</span>currentLvl-<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span> == <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
			<span style="color: #808080; font-style: italic;">//creating a variable which holds the brick instance</span>
			<span style="color: #0066CC;">_root</span>.<span style="color: #0066CC;">attachMovie</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'mcBrick'</span>, <span style="color: #ff0000;">'brick'</span>+i,<span style="color: #0066CC;">_root</span>.<span style="color: #0066CC;">getNextHighestDepth</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
			<span style="color: #808080; font-style: italic;">//setting the brick's coordinates via the i variable and brickRow</span>
			<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'brick'</span>+i<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_x</span> = <span style="color: #cc66cc;">15</span>+<span style="color: #66cc66;">&#40;</span>i-brickRow<span style="color: #66cc66;">*</span><span style="color: #cc66cc;">7</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">*</span><span style="color: #cc66cc;">75</span>;
			<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'brick'</span>+i<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_y</span> = <span style="color: #cc66cc;">10</span>+brickRow<span style="color: #66cc66;">*</span><span style="color: #cc66cc;">20</span>;
			<span style="color: #808080; font-style: italic;">//checks if the current brick needs a new row</span>
			<span style="color: #b1b100;">for</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">var</span> c:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">1</span>;c<span style="color: #66cc66;">&lt;</span>=<span style="color: #cc66cc;">10</span>;c++<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
				<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>i == c<span style="color: #66cc66;">*</span><span style="color: #cc66cc;">7</span>-<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
					brickRow ++;
				<span style="color: #66cc66;">&#125;</span>
			<span style="color: #66cc66;">&#125;</span>
		<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>to this:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">		<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>lvlArray<span style="color: #66cc66;">&#91;</span>currentLvl-<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span> == <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
			<span style="color: #808080; font-style: italic;">//creating a variable which holds the brick instance</span>
			<span style="color: #0066CC;">_root</span>.<span style="color: #0066CC;">attachMovie</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'mcBrick'</span>, <span style="color: #ff0000;">'brick'</span>+i,<span style="color: #0066CC;">_root</span>.<span style="color: #0066CC;">getNextHighestDepth</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
			<span style="color: #808080; font-style: italic;">//setting the brick's coordinates via the i variable and brickRow</span>
			<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'brick'</span>+i<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_x</span> = <span style="color: #cc66cc;">15</span>+<span style="color: #66cc66;">&#40;</span>i-brickRow<span style="color: #66cc66;">*</span><span style="color: #cc66cc;">7</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">*</span><span style="color: #cc66cc;">75</span>;
			<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'brick'</span>+i<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_y</span> = <span style="color: #cc66cc;">10</span>+brickRow<span style="color: #66cc66;">*</span><span style="color: #cc66cc;">20</span>;
			<span style="color: #808080; font-style: italic;">//giving this brick some actions</span>
			<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'brick'</span>+i<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">onEnterFrame</span> = <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
				<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">hitTest</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">_root</span>.<span style="color: #006600;">mcBall</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span><span style="color: #808080; font-style: italic;">//if this touches the ball</span>
					<span style="color: #808080; font-style: italic;">//then destroy this mofugger!</span>
					<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">removeMovieClip</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
					<span style="color: #808080; font-style: italic;">//and make the ball bounce away</span>
					ballYSpeed <span style="color: #66cc66;">*</span>= -<span style="color: #cc66cc;">1</span>;
				<span style="color: #66cc66;">&#125;</span>
			<span style="color: #66cc66;">&#125;</span>
			<span style="color: #808080; font-style: italic;">//checks if the current brick needs a new row</span>
			<span style="color: #b1b100;">for</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">var</span> c:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">1</span>;c<span style="color: #66cc66;">&lt;</span>=<span style="color: #cc66cc;">10</span>;c++<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
				<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>i == c<span style="color: #66cc66;">*</span><span style="color: #cc66cc;">7</span>-<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
					brickRow ++;
				<span style="color: #66cc66;">&#125;</span>
			<span style="color: #66cc66;">&#125;</span>
		<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>That was pretty easy, wasn&#8217;t it? Definitely much easier than what had to be done in AS3. Well, since we have time, I&#8217;m going to post here what your code should look like at this time:</p>
<h4>Frame 1:</h4>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">//Current level player is on</span>
<span style="color: #000000; font-weight: bold;">var</span> currentLvl:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">1</span>;
<span style="color: #808080; font-style: italic;">//The array code for lvl 1</span>
<span style="color: #000000; font-weight: bold;">var</span> lvl1Code:<span style="color: #0066CC;">Array</span> = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Array</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">//The array that contains all of the level codes</span>
<span style="color: #000000; font-weight: bold;">var</span> lvlArray:<span style="color: #0066CC;">Array</span> = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Array</span><span style="color: #66cc66;">&#40;</span>lvl1Code<span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<h4> Frame 2:</h4>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #0066CC;">stop</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">//These variables are needed for moving the ball</span>
<span style="color: #000000; font-weight: bold;">var</span> ballXSpeed:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">10</span>; <span style="color: #808080; font-style: italic;">//X Speed of the Ball</span>
<span style="color: #000000; font-weight: bold;">var</span> ballYSpeed:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">10</span>; <span style="color: #808080; font-style: italic;">//Y Speed of the Ball</span>
&nbsp;
<span style="color: #0066CC;">onEnterFrame</span> = <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span> <span style="color: #808080; font-style: italic;">//this function will run during every single frame</span>
	<span style="color: #808080; font-style: italic;">//The paddle follows the mouse</span>
	mcPaddle.<span style="color: #0066CC;">_x</span> = <span style="color: #0066CC;">_xmouse</span> - mcPaddle.<span style="color: #0066CC;">_width</span><span style="color: #66cc66;">*</span>.5;
&nbsp;
	<span style="color: #808080; font-style: italic;">//If the mouse goes off too far to the left</span>
	<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">_xmouse</span> <span style="color: #66cc66;">&lt;</span> mcPaddle.<span style="color: #0066CC;">_width</span> <span style="color: #66cc66;">/</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
		<span style="color: #808080; font-style: italic;">//Keep the paddle on stage</span>
		mcPaddle.<span style="color: #0066CC;">_x</span> = <span style="color: #cc66cc;">0</span>;
	<span style="color: #66cc66;">&#125;</span>
	<span style="color: #808080; font-style: italic;">//If the mouse goes off too far to the right</span>
	<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">_xmouse</span> <span style="color: #66cc66;">&gt;</span> <span style="color: #0066CC;">Stage</span>.<span style="color: #0066CC;">width</span> - mcPaddle.<span style="color: #0066CC;">_width</span> <span style="color: #66cc66;">/</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
		<span style="color: #808080; font-style: italic;">//Keep the paddle on stage</span>
		mcPaddle.<span style="color: #0066CC;">_x</span> = <span style="color: #0066CC;">Stage</span>.<span style="color: #0066CC;">width</span> - mcPaddle.<span style="color: #0066CC;">_width</span>;
	<span style="color: #66cc66;">&#125;</span>
&nbsp;
	<span style="color: #808080; font-style: italic;">//MOVING THE BALL</span>
	mcBall.<span style="color: #0066CC;">_x</span> += ballXSpeed;
	mcBall.<span style="color: #0066CC;">_y</span> += ballYSpeed;
	<span style="color: #808080; font-style: italic;">//Bouncing the ball off of the walls</span>
	<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>mcBall.<span style="color: #0066CC;">_x</span> <span style="color: #66cc66;">&gt;</span>= <span style="color: #0066CC;">Stage</span>.<span style="color: #006600;">width</span>-mcBall.<span style="color: #0066CC;">_width</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
		<span style="color: #808080; font-style: italic;">//if the ball hits the right side</span>
		<span style="color: #808080; font-style: italic;">//of the screen, then bounce off</span>
		ballXSpeed <span style="color: #66cc66;">*</span>= -<span style="color: #cc66cc;">1</span>;
	<span style="color: #66cc66;">&#125;</span>
	<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>mcBall.<span style="color: #0066CC;">_x</span> <span style="color: #66cc66;">&lt;</span>= <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
		<span style="color: #808080; font-style: italic;">//if the ball hits the left side</span>
		<span style="color: #808080; font-style: italic;">//of the screen, then bounce off</span>
		ballXSpeed <span style="color: #66cc66;">*</span>= -<span style="color: #cc66cc;">1</span>;
	<span style="color: #66cc66;">&#125;</span>
	<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>mcBall.<span style="color: #0066CC;">_y</span> <span style="color: #66cc66;">&gt;</span>= <span style="color: #0066CC;">Stage</span>.<span style="color: #006600;">height</span>-mcBall.<span style="color: #0066CC;">_height</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
		<span style="color: #808080; font-style: italic;">//if the ball hits the bottom</span>
		<span style="color: #808080; font-style: italic;">//then bounce up</span>
		ballYSpeed <span style="color: #66cc66;">*</span>= -<span style="color: #cc66cc;">1</span>;
	<span style="color: #66cc66;">&#125;</span>
	<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>mcBall.<span style="color: #0066CC;">_y</span> <span style="color: #66cc66;">&lt;</span>= <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
		<span style="color: #808080; font-style: italic;">//if the ball hits the top</span>
		<span style="color: #808080; font-style: italic;">//then bounce down</span>
		ballYSpeed <span style="color: #66cc66;">*</span>= -<span style="color: #cc66cc;">1</span>;
	<span style="color: #66cc66;">&#125;</span>
&nbsp;
&nbsp;
&nbsp;
	<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>mcBall.<span style="color: #0066CC;">hitTest</span><span style="color: #66cc66;">&#40;</span>mcPaddle<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
		<span style="color: #808080; font-style: italic;">//calculate the ball angle if ball hits paddle</span>
		calcBallAngle<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> calcBallAngle<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Void</span><span style="color: #66cc66;">&#123;</span>
	<span style="color: #808080; font-style: italic;">//ballPosition is the position of the ball is on the paddle</span>
	<span style="color: #000000; font-weight: bold;">var</span> ballPosition:<span style="color: #0066CC;">Number</span> = mcBall.<span style="color: #0066CC;">_x</span> - mcPaddle.<span style="color: #0066CC;">_x</span>;
	<span style="color: #808080; font-style: italic;">//hitPercent converts ballPosition into a percent</span>
	<span style="color: #808080; font-style: italic;">//All the way to the left is -.5</span>
	<span style="color: #808080; font-style: italic;">//All the way to the right is .5</span>
	<span style="color: #808080; font-style: italic;">//The center is 0</span>
	<span style="color: #000000; font-weight: bold;">var</span> hitPercent:<span style="color: #0066CC;">Number</span> = <span style="color: #66cc66;">&#40;</span>ballPosition <span style="color: #66cc66;">/</span> <span style="color: #66cc66;">&#40;</span>mcPaddle.<span style="color: #0066CC;">_width</span> - mcBall.<span style="color: #0066CC;">_width</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> - .5;
	<span style="color: #808080; font-style: italic;">//Gets the hitPercent and makes it a larger number so the</span>
	<span style="color: #808080; font-style: italic;">//ball actually bounces</span>
	ballXSpeed = hitPercent <span style="color: #66cc66;">*</span> <span style="color: #cc66cc;">10</span>;
	<span style="color: #808080; font-style: italic;">//Making the ball bounce back up</span>
	ballYSpeed <span style="color: #66cc66;">*</span>= -<span style="color: #cc66cc;">1</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> makeLvl<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Void</span><span style="color: #66cc66;">&#123;</span> <span style="color: #808080; font-style: italic;">//Places bricks onto Level</span>
	<span style="color: #808080; font-style: italic;">//finding the array length of the lvl code</span>
	<span style="color: #808080; font-style: italic;">//The index has to be currentLvl-1 because:</span>
	<span style="color: #808080; font-style: italic;">//array indexes start on 0 and our lvl starts at 1</span>
	<span style="color: #808080; font-style: italic;">//our level will always be 1 higher than the actual index of the array</span>
	<span style="color: #000000; font-weight: bold;">var</span> arrayLength:<span style="color: #0066CC;">Number</span> = <span style="color: #0066CC;">_root</span>.<span style="color: #006600;">lvlArray</span><span style="color: #66cc66;">&#91;</span>currentLvl-<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">length</span>;
	<span style="color: #808080; font-style: italic;">//the current row of bricks we are creating</span>
	<span style="color: #000000; font-weight: bold;">var</span> brickRow:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">0</span>;
	<span style="color: #808080; font-style: italic;">//Now, creating a loop which places the bricks onto the stage</span>
	<span style="color: #b1b100;">for</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">var</span> i:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">0</span>;i<span style="color: #66cc66;">&lt;</span>arrayLength;i++<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
		<span style="color: #808080; font-style: italic;">//checking if it should place a brick there</span>
		<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>lvlArray<span style="color: #66cc66;">&#91;</span>currentLvl-<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span> == <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
			<span style="color: #808080; font-style: italic;">//creating a variable which holds the brick instance</span>
			<span style="color: #0066CC;">_root</span>.<span style="color: #0066CC;">attachMovie</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'mcBrick'</span>, <span style="color: #ff0000;">'brick'</span>+i,<span style="color: #0066CC;">_root</span>.<span style="color: #0066CC;">getNextHighestDepth</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
			<span style="color: #808080; font-style: italic;">//setting the brick's coordinates via the i variable and brickRow</span>
			<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'brick'</span>+i<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_x</span> = <span style="color: #cc66cc;">15</span>+<span style="color: #66cc66;">&#40;</span>i-brickRow<span style="color: #66cc66;">*</span><span style="color: #cc66cc;">7</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">*</span><span style="color: #cc66cc;">75</span>;
			<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'brick'</span>+i<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">_y</span> = <span style="color: #cc66cc;">10</span>+brickRow<span style="color: #66cc66;">*</span><span style="color: #cc66cc;">20</span>;
			<span style="color: #808080; font-style: italic;">//giving this brick some actions</span>
			<span style="color: #0066CC;">_root</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'brick'</span>+i<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">onEnterFrame</span> = <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
				<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">hitTest</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">_root</span>.<span style="color: #006600;">mcBall</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span><span style="color: #808080; font-style: italic;">//if this touches the ball</span>
					<span style="color: #808080; font-style: italic;">//then destroy this mofugger!</span>
					<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">removeMovieClip</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
					<span style="color: #808080; font-style: italic;">//and make the ball bounce away</span>
					ballYSpeed <span style="color: #66cc66;">*</span>= -<span style="color: #cc66cc;">1</span>;
				<span style="color: #66cc66;">&#125;</span>
			<span style="color: #66cc66;">&#125;</span>
			<span style="color: #808080; font-style: italic;">//checks if the current brick needs a new row</span>
			<span style="color: #b1b100;">for</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">var</span> c:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">1</span>;c<span style="color: #66cc66;">&lt;</span>=<span style="color: #cc66cc;">10</span>;c++<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
				<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>i == c<span style="color: #66cc66;">*</span><span style="color: #cc66cc;">7</span>-<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
					brickRow ++;
				<span style="color: #66cc66;">&#125;</span>
			<span style="color: #66cc66;">&#125;</span>
		<span style="color: #66cc66;">&#125;</span>
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span>
&nbsp;
makeLvl<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #808080; font-style: italic;">//finally, run the function</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.flashgametuts.com/tutorials/as2/how-to-create-a-brick-breaker-game-in-as2-part-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
