logo
468x60-2-495


  • Home
  • Privacy Policy
  • About
search
top
Currently Browsing: Hints and Tips
Nov 4, 2011 Posted on Nov 4, 2011 in Hints and Tips | 10 comments

Quick Tip: Create a Simple Points System Using AS3

In this Quick Tip you will learn how to make a simple points system that can be extended into your own games. This tutorial is for total beginners, and in it you’ll learn how to create a set of buttons that the player can click to add or subtract points to or from their score. Simple!

Although this tutorial is for beginners to Flash programming, you will need to know a little bit about using the drawing tools in Flash Professional. If you need to learn how to use the drawing tools, read this article.


Final Result Preview

Let’s take a look at the final result we will be working towards:


Step 1: Setting Up Your Flash File

Open up Flash and create a new Flash Document. Set the Document Size to 550x400px, the FPS (Frames per Second) to 24 and set the document class to Main.

This is how it should look.

Step 2: Creating the Graphics

These are the graphics you will need to create.
These are the graphics you will need to create.

To create the graphics, use the Oval Tool to create four circles with a #000000 (Black) outline and a stroke size of 12.50.

Each circle should have a different fill color. The fill colours are as follows:

  • 10 Coin: #993300
  • 50 Coin: #999999
  • 100 Coin: #FFCC00
  • -30 Coin: #990000

After creating the coins, use static textboxes to write their respective values as given in the image above. The font I will be using throughout this tutorial is Futura LT Heavy, with a size of 50, but feel free to use your own font and font size. After completing the instruction you should have a 10 Coin, 50 Coin, 100 Coin, and a -30 Coin.

We will now convert each coin into a MovieClip. Select the 10 Coin and press F8. You should see a dialog like this:

The image has everything filled out. Make sure you write down the same things in your dialog.
The image has everything filled out. Make sure you write down the same things in your dialog.

Repeat this step for the 50 Coin, 100 Coin and the -30 Coin and input the following under the Name and Class boxes for each Coin:

  • 50 Coin: FiftyCoin
  • 100 Coin: HundredCoin
  • -30 Coin: BadCoin

Once you have created MovieClips out of all the Coins, select them all and delete them off the stage. We will be adding them back again later on, using code.

To finish off this step create a static textbox with the text “SCORE:” and position it with an X value of 135 and a Y value of 327.


Step 3: Setting Up the Package and Main Class

In this step we will set up our package and the Main Class.

Create a new ActionScript Class and under Class Name type Main. Once you have created the class, save it in the same folder as your Flash file, and make sure it is saved as Main.as.

Make sure your dialog looks like this.
Make sure your dialog looks like this.

Enter the code below into your Main.as file, then save it.

package {
	//imports the necessary classes
	import flash.display.MovieClip
	import flash.events.MouseEvent;
	import flash.text.TextField;
	import flash.text.TextFormat;
	import flash.text.TextFieldType;
	import flash.events.Event;

	public class Main extends MovieClip {
        var tenCoin:TenCoin = new TenCoin(); //Creates a new instance of the Ten Coin
		var fiftyCoin:FiftyCoin = new FiftyCoin(); //Creates a new instance of the Fifty Coin
		var hundredCoin:HundredCoin = new HundredCoin(); //Creates a new instance of the Hundred Coin
		var badCoin:BadCoin = new BadCoin(); //Creates a new instance of the -30 Coin

		var score:Number = 0; //Sets the score to zero
		var scoreText:TextField = new TextField(); //Creates a textfield to display the score
		var scoreTextFormat:TextFormat = new TextFormat("Futura LT Heavy", 50, 0x000000); //Creates a new format for Score textfield, replace "Futura LT Heavy" with the font that you are using 

		public function Main() {
			displayObjects(); //The function that we will use to display all of the graphic on the stage
			setUpEventListeners(); //The function that we will use to add our Event Listeners
		}

First we import the classes that we need and then we set up our document class. We then extend the Main Class from MovieClip; we could use Sprite, but it doesn’t really matter. After that, we declare the variables that we are using and we add code to our Main() function (our “constructor function”).

The Main() function will display all of the coins we created on the stage and it will also add the Event Listeners that we need to use.

Note: You’ll need to embed the font into your FLA in order to make it display in dynamic text fields if your user doesn’t have the font installed. I haven’t done this here, to keep things simple.


Step 4: Coding the displayObjects() Function

The displayObjects() Function is called from the Main() function. The purpose of this function is to add the coins and the score textbox to the stage and to position them at their proper location.

function displayObjects() {
	// Sets the position of the Ten Coin
	tenCoin.x = 72;
	tenCoin.y = 200;
	// Sets the position of the Fifty Coin
	fiftyCoin.x = 207;
	fiftyCoin.y = 200;
	// Sets the position of the Hundred Coin
	hundredCoin.x = 342;
	hundredCoin.y = 200;
	// Sets the position of the -Thirty Coin
	badCoin.x = 477;
	badCoin.y = 200;
	//Positions the score textbox and sets its type to dynamic so that it can be changed through code
	scoreText.type = TextFieldType.DYNAMIC;
	scoreText.x = 305;
        scoreText.y = 327;
	scoreText.width = 300;
	//Sets the format of the score textbox
        scoreText.defaultTextFormat = scoreTextFormat;
	//Adds everything to the stage
	addChild(tenCoin);
	addChild(fiftyCoin);
	addChild(hundredCoin);
	addChild(badCoin);
	addChild(scoreText);
}

Step 4: Coding the setUpEventListeners() Function and the Event Handlers

Now that we have added objects to the stage we have to create event handler functions that are triggered when clicking on the coins. We will also need an updateScore() function to use so that the score gets updated and doesn’t stay the same.

function setUpEventListeners() {
	//Changes all of our MovieClips into Buttons
	tenCoin.buttonMode = true;
	fiftyCoin.buttonMode = true;
	hundredCoin.buttonMode = true;
	badCoin.buttonMode = true;
	//Adds the event listeners to add points to the score
	tenCoin.addEventListener(MouseEvent.CLICK, addTenPoints);
	fiftyCoin.addEventListener(MouseEvent.CLICK, addFiftyPoints);
	hundredCoin.addEventListener(MouseEvent.CLICK, addHundredPoints);
	badCoin.addEventListener(MouseEvent.CLICK, removeThirtyPoints);
	//Adds the update function to update the score
	stage.addEventListener(Event.ENTER_FRAME, updateScore);
}

Now we must code the functions that change and update the score.

function addTenPoints(evt:MouseEvent){
	score += 10; //Adds 10 points to the score
}

function addFiftyPoints(evt:MouseEvent){
	score += 50; //Adds 50 points to the score
}

function addHundredPoints(evt:MouseEvent){
	score += 100; //Adds 100 points to the score
}

function removeThirtyPoints(evt:MouseEvent){
	score -= 30; //Subtracts 30 points from the score
	// This if statement doesn't allow the score to go below zero
	if(score < 10) {
		score -= score;
	}
}

function updateScore(evt:Event){
	scoreText.text = String(score); //This converts the score variable from a number to a string, because our score textbox can only display strings
}
} //Closes the class
} //Closes the package

Your code is now ready for testing. Press CTRL+Enter (CMD+Enter on a Mac) and watch your points system come to life!


Review

Now you might be thinking, “I’ve wasted my time, all this tutorial taught me to do was to create some buttons that give you points when you click them” – but you have learned more than this.

Look at this as a foundation for a more advanced points system. You learned how to use += and -= to add or subtract from a number, you learned how to use event listeners, you learned how to create a function to update objects while the SWF is running, and you learned how to change a Number to a String and display it in a dynamic textbox that you created entirely through code!


Conclusion

This points system can easily be extended into your own games. For those of you who are more experienced at Flash, try creating a game that uses a hitTestObject function and adds points when you hit an object.

I hope you learned something new today. Thanks for reading!



View full post on Activetuts+

Nov 2, 2011 Posted on Nov 2, 2011 in Hints and Tips | 10 comments

Getting Started With Scoreoid

Games are becoming ever more popular, especially casual games on mobile devices and tablets. In these games, the importance of leaderboards is multiplied – and game developers need a simple cross-platform solution for this. In this tutorial we will cover Scoreoid and how it can help you with game development.


About Scoreoid

Scoreoid is a non-restrictive, reliable and easy to use gaming platform designed to handle scoring, leaderboards and game management, including advanced functions for multi-platform games such as platform content awareness and advanced player management. Plus, it truly is developed by game developers for game developers.

Scoreoid’s goal is to handle scoring and leaderboard functionality offering plenty of features to make games better, thereby shortening game development time and costs and giving developers more time to work on their games.

Scoreoid Features

Scoreoid provides game developers with some great features:

  • In-depth game analytics
  • Cross-platform development
  • In game notifications
  • Platform content awareness
  • Ability to export data
  • Multiple user accounts
  • Geo-location
  • Advanced, customizable leaderboards
  • Advanced game achievements

Plus, it’s totally free!


Why Choose Scoreoid?

Scoreoid is truly cross-platform: with its Open Web API there is no need to download SDKs and no waiting for updates – and yes, Scoreoid works on every platform (Flash, Unity, HTML5, Silverlight, you name it).

Going beyond the expected

It also allows you to:

  • Create unique leaderboards – display what platform a player is playing from, making your leaderboards very different and attractive to players showing them results from different platforms, and how their own performance compares to that of other players on different platforms.
  • Add in-game notifications – set up easy to use, dynamic notifications for your games. This is great for updating your current players on new game titles, game updates or features. Maybe you want to tell them about your blog or game site. You can even create promotions, raffles, and challenges.
  • Create user saves – with Scoreoid you can easily save a user’s score, completed levels, achievements and much more.
  • Manage players – Scoreoid makes it very easy to manage game players and player scores. It is great to see your top players, but it’s also great to be able to capture potential leads for your next game title. Since you keep your players’ data and information, you can send out newsletters or updates, or connect on a more personal level with them.
  • Use geo-location – create leaderboards or game achievements based on users’ geo-location; show players’ top scores based on location or let players compare their scores around the world using maps.

Enough about what it can do. Let’s get started using it!


Step 1: Creating an Account and Logging In

Just follow these three steps:

  • Go to scoreoid.com (not .net) and sign up.
  • Activate your account via the activation email.
  • Go back to scoreoid.com and log in.
Scoreoid Sign Up

That’s it – no need to download any SDKs.

Dashboard Screen

The dashboard screen contains a number of helpful links and information, including Quick Stats, which let you quickly find out what your most popular game is, who your most popular player is, and so on. They provide an excerpt of what you can find in the full in-game analytics.

See the wiki for more info on this screen.


Step 2: The Game Screen

Before you can start using the Scoreoid platform inside your game you will need to add your game to Scoreoid. This is done by going to the game screen which shows you all your games, has a search option and an option to add a new game.

Game Screen

For each game you will have a list column with the following information:

  • Game Name – Your game name. Selecting the name will open up a lightbox to let you edit your game’s information.
  • Game ID (Token) – This is a 9 digit hash ID used for making API calls. You can copy it to your clipboard using the copy button or reset it via the actions section.
  • Version – Displays game version based on your input when adding a new game.
  • Platform – Displays game platform based on your input when adding a new game. If your game is active on more than one platform use “,” to separate each platform (this is passed as an array to the Scoreoid API).
  • Players – Shows your currently player count.
  • Created – The date you added your game to Scoreoid, automatically generated via Scoreoid.
  • Status – Your game status, clicking on this will either deactivate or activate your game.
  • Actions – This section gives you a few items: a direct link to the scores screen; the ability to reset your Game ID (this will stop any API calls inside any active games); and buttons to edit or delete the selected game.

Step 3: Adding your game to the Scoreoid platform

Clicking on the “Add new game” button will open the “create game” lightbox, and you will have a number of options to fill out:

Create Game
  • Name of the game
  • Short description – Used for auto post and advanced APIs.
  • Game description
  • Game Type – Action, RPG, etc. Used for advanced stats.
  • Version – Your game’s version number.
  • Levels – Number of levels; will be used for advanced global stats (currently not supported).
  • Download/Play URL – Your game’s URL in HTTP:// format. Used for auto post and advanced APIs.
  • Website URL – Your website or your game’s website URL in HTTP:// format. Used for auto post and advanced APIs.

Although only the game name is required we recommend filling out all the information, as more APIs will be added which will use the remaining info.


Step 4: Understanding the Console

The Scoreoid console screen lets you access Scoreoid’s Open Web API where you can call any one of the create or get API methods. The console screen is a great way to learn and test out Scoreoid; it also makes it very easy to copy the required parameters or find the API method that would work best for your game.

Console Screen

Clicking on an API method will open the API lightbox where you will have access to the API’s URL and POST parameters (API method options), your API key, your game ID, the response type, and any other parameters or options that are required.

API Lightbox

Clicking the button to make the method call will show you the API response lightbox, which has the generated response.

API Response Screen

Step 5: Scoreoid’S Open Web API

Scoreoid’s Open Web API methods are RESTful HTTP/HTTPS requests which return XML or JSON responses. The Scoreoid Open Web API works with every coding language making it truly cross platform and easy to use.

You well always have the following parameters that are required:

api_key – Your API Key
game_id – Your Game ID
response – String Value, “XML” or “JSON”

While Scoreoid supports both HTTP and HTTPS, we recommend using HTTPS as it is more secure.

Step 6: Creating a Score and Retrieving Scores

Creating a score with Scoreoid is easy. You have a number of API methods that offer this option; the easiest and fastest one is createScore().

All of Scoreoid’s API methods will return a response letting you know that the information was saved – or that there was an error with the passed parameters.

API URL: https://www.scoreoid.com/api/createScore

POST Parameters:

api_key – Your API Key [required]
game_id – Your Game ID [required]
response – String Value: “XML” or “JSON” [required]
score – Number Value: the player’s score [required]
username – String Value: the player’s name [required]

Create Score API Method

You have more options: like username, platform, unique id and difficulty. None of these are required, but they can offer more benefits; for example, you could splits scores into different platforms or difficulties, or lock a player into a device or platform using their unique id.

Here is the response when a score has been submitted and successfully saved:

Score Saved

Here is the response when a score has been submitted but there was an issue or error:

Score Saved Error

As you can see Scoreoid provides full validation options making sure you always know what’s going on.

Retrieving scores to be displayed inside your game’s leaderboards can be done by using the getScores() API method:

API URL: https://www.scoreoid.com/api/getScores

POST Parameters

api_key – Your API Key [required]
game_id – Your Game ID [required]
response – String Value: “XML” or “JSON” [required]
order_by – String Value: “date” or “score” [optional]
order – String Value: “asc” or “desc” [optional]
limit – Number Value: “20″ retrieves rows 1 – 20; “10,20″ retrieves rows 11-30 [optional]
start_date – Date Value: YYYY-MM-DD [optional]
end_date – Date Value: YYYY-MM-DD [optional]
platform – String Value: needs to match with all API methods used [optional]
difficulty – Number Value: 1 to 10 [optional]

Get Scores API Method

As you can see there are plenty of options for segmenting and retrieving scores. Here is the response in JSON and XML format:

Get Scores API Response JSON
Get Scores API Response XML

Step 7: Creating a Player With Game Achievements

Scoreoid has a great built in method for creating a player, with a number of options including current level, XP, energy, and more. We’re going to use this method for game achievements.

With the createPlayer() API method we have a number of options for achievements we can list all of the game’s achievements using the “achievements” parameter and then use the “current_achievements” parameter to list the player’s current achievements. Another option is just listing the players achievements directly using any one of the parameters available.

API URL: https://www.scoreoid.com/api/createPlayer

POST Parameters

api_key – Your API Key [required]
game_id – Your Game ID [required]
response – String Value: “XML” or “JSON” [required]
username – String Value: the player’s name [required]
achievements – Comma Separated Array Value: the player’s achievements [optional]

Create Player API Method

As you can see there are plenty of other options which lets you add even more details to your players.

But let’s look another example: suppose you already created you player and only want to update a certain parameter – for instance, their achievements, lives, or XP.

Scoreoid has a number of APIs like editPlayer(), getPlayerField(), and updatePlayerField(). Let’s use updatePlayerField() to update a player’s in-game achievements.

Update Player Field

As you can see, I entered the player’s username, selected the field that I wanted to update, and entered the desired new value. Once the update is made, Scoreoid returns an API response to let you know that the field has been updated:

Update Player Field Response

Of course all this will be done via your game’s code rather than the website’s interface, so here is the full code example.

API URL: https://www.scoreoid.com/api/updatePlayerField

POST Parameters

api_key – Your API Key [required]
game_id – Your Game ID [required]
response – String Value: “XML” or “JSON” [required]
username – String Value: the players name [required]
field – The field you would like to update [required]
value – The new value [required]


Scoreoid Tips and Tricks

Here are some best practices that we recommend:

  • Save locally – It’s always best to save locally first, and then send the data.
  • Check connection – Always check that the player has an Internet connection; if they don’t, then save the data locally and then send it when a connection is available.
  • Make fewer calls – The fewer HTTPS calls you make the better.
  • Notify – Always let your players know what’s going on; make sure to tell them that the information has been saved.
  • Timing – Choose the right time to send data; for example, never send data during game play (between screens is usually a perfect time to send data).
  • Customize – Customize your leaderboards to fit within your game’s design.
  • Creativity – Get creative with your leaderboards: go beyond the expected with charts or text maps, or make your leaderboards unique.
  • Filters – Provide filters and options for your leaderboards.
  • In Game Notifications – Use In Game Notifications to update your players about news or cross-promotions.
  • Leaderboards – Leaderboards provide more exposure and better retention, plus they motivates gamers – so use them!

Conclusion

Scoreoid is all about the developers and community. If you have an idea for a great feature or suggestion, or require a specific feature for your game, please send us feedback. There is much more to Scoreoid than we could possibly have covered here, so make sure you check out the rest of the Scoreoid’s features at scoreoid.net and stay tuned as we roll out new features.

Thank you for reading this tutorial and I hope you learned something new.



View full post on Activetuts+

Nov 1, 2011 Posted on Nov 1, 2011 in Hints and Tips | 10 comments

Getting Started with Unity – GUI, Scoring, Timers & Particles

In this tutorial we’ll introduce scoring with and more complex gameplay with a variety of different pickups to collect, some hindering the player and some providing speed boosts.

We’ll also introduce a countdown Timer complete with a HUD displaying both the score and time remaining, as well as adding everyone’s favourite feature – particles!


Step 1: Creating Different Pickups

Our mini game is going to have several different types of pickups for the user to collect. Type 1 will simply increment the score, type 2 will add or subtract a random score and type 3 will either speed up or slow down the player. To make it more interesting the pickups will randomly change while the player is playing.

The first step is to create a new script that will define what type of pickup each instance is.


Step 2: The Pickup.js Script

Open your project from last time or download the source from above; then within the Project Window right-click on the Scripts folder and select Create -> JavaScript; rename it Pickup.

unity tutorial: gui, timers, particles

We’ll now add this new script as a Component of our pickup prefab, so select the ‘pickup-prefab’ from within the Prefabs folder and drag the Pickup script onto the Inspector Window (or onto the ‘pickup-prefab’ itself).

unity tutorial: gui, timers, particles

Every instance of the pickup that’s now spawned will feature this new script which will determine the type of pickup it is and various other properties. Let’s now define these types.


Step 3: Determining the Type of Pickup

When the pickup is spawned we’re going to decide randomly what type it is, so add the following code to the Pickup script:


// variable to hold the type
public var type:int;

function Awake()
{
	// set a random type to begin
	SwapType();
}

function SwapType()
{
	// generate a random number between 1 and 10
	var random:float = Random.Range(1,10);

    // set the type
	if (random <= 5) // 50% for type 1
	{
		type = 1;
	}
	else if (random <= 8) // 30% for type 2
	{
		type = 2;
	}
	else // 20% for type 3
	{
		type = 3;
	}
}
  

The above block of code defines a variable ‘type’ which, when the script initialises, is randomly set to a value of 1 (standard point pickup), 2 (point gamble pickup) or 3 (speed powerup) to define the type of the pickup.

We generate the random number using Random.Range(…) and then use a series of if statements to increase the probability of it being a standard point pickup (type = 1) and therefore make the speed powerups more rare to come across.


Step 4: Randomly Changing the Pickup

Once instantiated the pickup will currently remain the same type for the duration of its lifetime. Let’s make it a little more interesting by making it change type after a random number of seconds.

Add the following variables and Start() function to the script:


// min and max times for type change
public var minTypeChange:int = 10;
public var maxTypeChange:int = 30;

function Start()
{
	while (true)
	{
		// wait for X seconds
		yield WaitForSeconds(Random.Range(minTypeChange, maxTypeChange));

		// set a random type
		SwapType();
	}
}
  

This essentially starts a while loop which will run forever since the condition being tested is always true. The first part of the statement uses a yield WaitForSeconds(…) statement to create a delay for a random number of seconds, between the min and max values specified, before then swapping the type of the pickup by calling the SwapType function we defined earlier on.

So the game should currently work as we expect – but the player has no idea what type of pickup they are collecting! So now let’s brighten up our pickup a little to distinguish between the different types. We’ll use everyone’s favourite feature…


Step 5: Everyone’s Favourite: Particles!

So that the player can tell the difference between the pickups, we’re going to add different coloured particle systems in the centre of the pickups.

Drag an instance of the pickup-prefab into the scene and focus on it by either using the F key or double-clicking on it within the Hierarchy. Add a Particle System using the top menu: GameObject -> Create Other -> Particle System. Make it a child of the pickup-prefab by dragging it onto the pickup-prefab within the Hierarchy; click Continue when the below dialog warns you about losing the prefab connection.

unity tutorial: gui, timers, particles

Use the Inspector to position the Particle System at (0, 0, 0) so that it’s in the centre of the pickup model as illustrated below.

Note: if you have the particle system or one of its parents selected then the particle system will emit particles within the Scene Window; it will otherwise cease emitting the particles until reselected.

unity tutorial: gui, timers, particles

So you should now have your first particle system positioned in the centre of the pickup.

Particle Systems within Unity are made up of three Components: an Emitter, an Animator and a Renderer. Their names are quite self explanatory and each features a handful of public variables for you to customise, allowing all kinds of awesome visual effects to be produced.

You can read more about each on their Component Reference pages that are linked above. You can also find their Script Reference pages here: Emitter, Animator and Renderer.

Currently our particle system is quite boring, right? Select the particle system and within the Inspector adjust the Emitter Component to match the values below:

unity tutorial: gui, timers, particles

All we’ve done is alter the energy that the particles have, affecting how long they ‘live’ for, and shrunk the Ellipsoid where they are emitted from so you should now notice that the particles are now all emitted much more closely together in the centre of the pickup.

unity tutorial: gui, timers, particles

Now match your particle’s Animator Component to the values shown below:

unity tutorial: gui, timers, particles

The changes we’ve made here are the addition of a random force to the particles on each axis, to make them appear more natural, and a size grow value of 1 so that they’ll grow larger over time as shown below.

unity tutorial: gui, timers, particles

That’s our particle system complete; we’ll adjust the colours using our Pickup script.

Finally, to update the pickup prefab, with the pickup-prefab object within the hierarchy selected, click the Apply button at the top of the Inspector. You can then delete the pickup from the Hierarchy.

Let’s now adjust our Pickup script to alter the colour of the particles depending on what type of pickup it is.

Recent Posts
  • Workshop Coding Challenge: Fix This Breakout Game
  • Enable the Latest AIR SDK in Flash Professional CS5.5+
  • Quick Tip: Versioning Your Files With Dropbox (via Webdesigntuts+)
  • Workshop: Nuclear Outrun – Critique
  • Understanding Variables, Arrays, Loops, and Null: The Post-it Note Analogy
Tag Cloud
2011 ActionScript Active Activetuts+ Adobe animation Basic Basix Best Build Button Character Create Creating Critique Custom design Effect Effects Files Flash from Game Guide HTML5 Introduction Macromedia Motion Muzzle part Player Premium Professional Quick Silverlight Simple Text Tool Tutorial Tuts+ Tween Using Video website Workshop
About Our Site:

Hey there and welcome to "Flash Video Training Source", a resource for anybody interested in learning more about Adobe's great tool. We feature educational videos, which will help you master Adobe Flash and help you get to know all of its features. We at "Flash Video Training Source" believe that video training and video... more

Why don't you follow us on Twitter and get the latest video tutorials twitted to your account. Just click on the floating twitter bar to your right!

Go Back In Time
May 2012
M T W T F S S
« Apr    
 123456
78910111213
14151617181920
21222324252627
28293031  
Pretty Blank Box
top

Blogroll

  • Development Blog
  • Documentation
  • Plugins
  • Suggest Ideas
  • Support Forum
  • Themes
  • WordPress Planet

Meta

  • Log in
  • Entries RSS
  • Comments RSS
  • WordPress.org

Archives

  • May 2012
  • April 2012
  • March 2012
  • February 2012
  • January 2012
  • December 2011
  • November 2011
  • October 2011
  • September 2011
  • August 2011
  • July 2011
  • June 2011
  • May 2011
  • April 2011
  • March 2011
  • February 2011
  • January 2011
  • December 2010
  • November 2010
  • October 2010
  • September 2010
  • August 2010
  • July 2010
  • June 2010
  • May 2010
  • April 2010
Powered by WordPress  |  Designed by Elegant Themes  |  Lightning Fast Hosting by Site 5 Hosting