Flixel tutorial part 1

Φεβρουαρίου 24th, 2010 ktolis No comments

For the uninitiated, Flixel is a game engine made in/for flash. It is said to be much faster than regular flash because it ditches vector graphics for bitmap ones.

This is a tutorial series that will try to introduce you to the flixel sdk one step at a time. So here we go with part 1.

Flixel tutorial part 1: Set up flixel for Flex.

This part is for OS X users of Flex 3.0 IDE.

Step 1: Download the latest flixel version from http://github.com/AdamAtomic/flixel/archives/master and save on your favorite location on your disk.

Step 2: Start Flex and select File -> New -> ActionScript Project

Step 3: Type your project name (Tutorial_01) and store at a convenient location

Step 4: Click on “Next” button (not Finish) and at the source path field add the path to the library you downloaded from step 1 (you expanded it right?) and then click Finish

That’s it.. you’re done!.. well almost since you aren’t using the library just yet. The Flex IDE created a file titled “Tutorial_01.as” which we’ll have to replace so replace it with this one:

package {
	import org.flixel.*;

	[SWF(width="640", height="480", backgroundColor="#000000")]

	public class Tutorial_01 extends FlxGame
	{
		public function Tutorial_01()
		{
			super(640,480,PlayState,1);
			FlxG.debug=true;
		}
	}
}

In the first lines we use a 640×480 canvas with black color and later on we pass control to the class “PlayState”. We didn’t define Playstate did we? No!. So Select File -> New -> ActionScript Class and at the window that will appear type Name: PlayState, Superclass: FlxState and hit Finish. Now paste inside this one the following:

package
{
	import org.flixel.*;

	public class PlayState extends FlxState
	{
		public var myText:FlxText;
		override public function create():void
		{
			myText=new FlxText(0,30,100,"Hello, World!");
			add(myText);
		}
	}
}

What we do here is we create a new FlxText object called myText to print on screen “Hello, World!” and then we pass it to the game engine to attach it to the rendering loop with the add() function. We don’t need to use the update() function yet as we don’t change anything yet.

Flixel uses states to manage the code. This means that when you are for example in the main screen you should create a separate FlxState called Intro and write code there on what should happen and then pass control to another FlxState called for example PlayState which will have the main game code.

Although we didn’t write much you will notice that if you click on the flash area (to activate it) and then hit ~ then you will see the flixel console (we enabled it using FlxG.debug=true). You will be able to see the flixel library version you are using and the fps you are reaching (frames per second). In the time of writing I get 58-62fps (it’s trying to stay to 60 fps) and flixel version 2.21.

This concludes part 1 of this series. Stay tuned for more :)

Categories: Projects, Tips & Tricks, main Tags:

Flash! (not Gordon)

Φεβρουαρίου 22nd, 2010 ktolis No comments

I’ve always wanted to experiment with flash but the slow versions available on Mac OS X were always a mess. Not to mention the tools. Since Flex was released as open source and the sdk was split from the IDE the situation changed. Now with the release of Flash 10.1 the plugin starts to be workable again. With 10.1 the video sites don’t crash the plugin so easily (less than 1% probability now) and the performance has gone up a bit too since they started using better technologies like Core Animation. I’ve re-installed Flex IDE on my Mac and Flex sdk 3.5 for now. I’m playing a bit with Flixel. Last time I checked (about a week ago) they had stable releases but now all you’ll find is the github link and broken documentation (besides the autogenerated API that is). All in all this tiny library supports blitting and bypasses the regular vector drawing mode. A bunch of games are already using it although in most cases the developers are high school kids. This doesn’t mean the library is less than professional. The library is more than one needs to start away with flash game development, although you’ll need external obfuscators (like mochi) and other libraries for social networking. For the time being I am experimenting with the demos (the only relevant sample code there is) and want to run some benchmarks. I will try to post them here and at the project forums for the community.

Categories: Personal, Projects, main Tags:

Esoterica…

Φεβρουαρίου 19th, 2010 ktolis No comments

Thinking of going alone for a while. I am very annoyed of situations close to me and have to make some bold moves. Tomorrow will be a day to meet at least an on old friend and see how it goes but I am really thinking of getting offline for a while. No harm done I guess.

Categories: Personal Tags:

WLAN Router working again!!!

Φεβρουαρίου 8th, 2010 ktolis No comments

After my short trip to Larisa I made my mind to fix the WRT54GL router that couldn’t connect with my home wlan. And after about 30 minutes of resetting and fiddling with the knobs I managed to succeed. My WLAN is now working again and my G3 and the PC will be online again woohoo!!..

Categories: main Tags:

Massive Attack – Heligoland

Ιανουαρίου 26th, 2010 ktolis No comments

Massive Attack, the band is finally about to release a new album titled Heligoland in 10 days. For impatiend ones the album is already available at your favorite torrent sites.

http://en.wikipedia.org/wiki/Heligoland_(album)

01. Pray for Rain

02. Babel

03. Splitting the Atom

04. Girl I Love You

05. Psyche

06. Flat of the Blade

07. Paradise Circus

08. Rush Minute

09. Saturday Come Slow

10. Atlas Air

Categories: /dev/random, Fun Tags: