Creating Collapsible Pane

Posted on March 26, 2008 
Filed Under ActionScript, Flash, Tutorials | 5 Comments

(Either JavaScript is not active or you are using an old version of Adobe Flash Player. Please install the newest Flash Player.)

This is not a walkthrough tutorial, so you can download the source right now and explore it yourself. Below I explain the general concept of this component, which you might find usefull to understand the structure of.

Creating Collapsible Pane is rather simple.
First of all you have to understand from what parts it consists of. Generally it consists of identical windows and each of this windows consist of -

As for functionality this window has to resize itself to match size of added content, basic open/close states which are implemented by simply setting visibility of a content holder to true or false. And ,of course, such methods as setPaneLabel() or setPaneContent().

So, the actual CollapsiblePane class would just create thouse windows inside itself, handle their positioning, and have public methods to manipulate them. First you start by creating a new instance of a CollapsiblePane on a stage and then filling it’s data provider with an array of objects that in turn consists of a label and data ( {label:”Test1″, data: new Button} , for example). You can also directly add panes to it. [continue reading this post...]

Renju, The Game

Posted on March 10, 2008 
Filed Under ActionScript, Flash, Games, PureMVC | 19 Comments

RenjuI have been playing this game for a while and thought that it whould be interesting to create my own flash version. For those who don’t know this game, a bit about it - Renju or Lianzhu is the professional variant of Gomoku, a board game originated from Japan in Heian Period. It was named Renju by Japanese journalist Ruikou Kuroiwa in December 6, 1899 in a Japanese newspaper Yorozu chouhou. Lianzhu is a Chinese translation of Renju. It is played with black and white stones on a 15×15 intersection board.

Two players, Black and White, alternately place two stones of their own colour, black and white respectively, on empty intersections of a board, except that Black (the first player) places one stone only for the first move. The one who gets five or more stones in a row (horizontally, vertically or diagonally) first wins the game.

So try it here. You can also download the source. Please note that this game is build on PureMVC version 1.7, and it won’t work under a new version 2.0.1 that has just been released. Just in case, I’ve included older version in source.

Hope you like it, and have fun.

Post Update: March 17, 2008

Implemented difficulty level functionality, some bug fixes and updated code to PureMVC version 2.0.1 . Download source.
For any thoughts about improving this game or bugs, leave comments.

Using WebServices in FMS

Posted on February 25, 2008 
Filed Under ActionScript, FMS, Flex, Tutorials | 5 Comments

This one is a quick beginner tutorial on using WebServices in Flash Media Server. Here you will learn how to retrieve web-service data from server side and pass it to all users connected to application. As an example I’m going to retrieve weather forecast.

// Load WebService component.
load("webservices/WebServices.asc");
 
application.onAppStart = function()
{
	trace ("Application Started");
	// Load WebService.
	this.loadWS();
}
 
application.onConnect = function(client)
{
	// Handle client functionality...
	application.acceptConnection(client);
}
 
application.loadWS = function()
{
	// Define WebService.
	weatherService = new WebService("http://www.webservicex.net/WeatherForecast.asmx?WSDL");
 
	weatherService.onLoad = function()
	{
		trace ("weatherService loaded...");
		// Invoke getWeatherByName method and set interval
		// to invoke it every 10 seconds for example.
		application.getWeatherByName("New York");
		setInterval(application.getWeatherByName, 10000, "New York");
	}
 
	weatherService.onFault = function(fault)
	{
		// Handle error here.
		trace (fault.faultstring);
	}
}
 
application.getWeatherByName = function(location)
{
	// Invoke web-service method passing it the location.
	weatherByName = weatherService.GetWeatherByPlaceName(location);
 
	weatherByName.onResult = function(result)
	{		
		var newObj = new Array();
 
		// Loop throught result and push needed fields to array.
		for ( var i = 0; i < result.Details.length; i++ )
		{
			newObj.push({day:result.Details[i].Day, min:result.Details[i].MinTemperatureC, max:result.Details[i].MaxTemperatureC});
		}
 
		var c = application.clients;
 
		if ( c.length )
		{
			// Loop throught clients and pass weather data.
			for ( var j = 0; j < c.length; j++ )
			{
				c[j].call("setWeather", null, newObj);
			}
		}
 
	}
 
	weatherByName.onFault = function(fault)
	{
		// Handle error here.
		trace(fault.faultstring);
	}
}

Everything should be clear if you have [continue reading this post...]

AMFPHP Flex Guestbook

Posted on February 21, 2008 
Filed Under AMFPHP, ActionScript, Flex, PureMVC | 4 Comments

Flex GuestbookWould like to present you the first beta release of my Flex Guestbook. A week ago I’ve started to write a tutorial on creating a full featured paging, but ended up in a more complex example.

The application is tied with amfphp services which so far can return comments and insert them, the client part formats and displays posts, has a paging feature and of course a simple form to insert your data. At this point I stoped, to show the work in progress, so you could help me to define what other features I can add. Of course, there should be an admin part to moderate the content. But should it be an external app, or be right there in guestbook? Should there be multiple administators/moderators with different access level? Or maybe something is wrong or uncomfortable in existing version?

Would really like to hear any suggestions, meanwhile feel free to test the FGuestbook demo.
After getting some feedback, I’ll finish this project and open-source it.

As all my other projects it’s build on PureMVC framework, so it should be a good example for pmvc users or those who would like to learn it!

Mac Style Flash Menu

Posted on February 6, 2008 
Filed Under ActionScript, Flash, PureMVC | 51 Comments

I always wanted to re-create Mac OS X menu in flash, so considering that it’s a bad practice to invent a bicycle, I started to look for some examples, to see what others might have done. As expected, I found a bunch of shitty ones, but there always is a light in the end of a tunnel. Finally I found a really nice one at http://jrgraphix.net/. Link to post and example is here. It’s an ActionScript2 class that looks really nice, so I took it as a base for my AS3 version. Click on the image below to see the example.

Flash Mac Menu
As you see, I refactored the class so it’s properties could be dynamicly changed. The example is build on PureMVC framework, so handling events like updating properties of menu or listening for it’s events is pretty simple.
There is actually a little bug, that I was too lazy to fix. It’s when mouse is over the menu, and then exits swf area, menu doesn’t return to it’s initial state. No big deal.

So feel free to download and examine the source. Maybe someone can create a cool application out of this. For any questions, bugs, or whatever else just contact me.

Next Page »