Device Shake – Accelerometer

Here you have an easy way to detect shakes on mobile devices with equipped accelerometer:

var lastShake:Number = 0;
var shakeWait:Number = 600;
 
var acc:Accelerometer = new Accelerometer();
acc.addEventListener(AccelerometerEvent.UPDATE, onAccUpdate);
 
function onAccUpdate(e:AccelerometerEvent):void
{
	if(getTimer() - lastShake > shakeWait && 
			(e.accelerationX >= 1.5 
			|| e.accelerationY >= 1.5 
			|| e.accelerationZ >= 1.5))
	{
		shakeIt();
		lastShake = getTimer();
	}
}
 
function shakeIt()
{
	trace("device has been shaked");
}

Enjoy!

Paul Calver’s portfolio website

A few weeks ago I started working on some updates for a photography website. The project started a bit slow, but after I managed to get every information from the client I managed to understand what’s needed to be done in order to complete it. This project uses SlideShow PRO (at the request of my client) and SlideShow PRO Director for CMS. I like the final result and that’s why I wrote about this website. Enjoy 😉

What I’ve been up to lately

Lately I’ve been working on a lot of projects, one of them being this audio tool. This is my first Flex (aka. Flash Builder) project and it was delivered with big help from my partner Biro Barna.

The tool is made to let people create their own ringtones. You can simply upload any MP3 file and cut it up to 30 seconds, add fade in / fade out if you want and then give it a name and save it. Then a new page will let you download the ringtone in iPhone format or MP3 format.

I’m in the process of remaking my portfolio site. When it’s done I will post more of my projects.

Darth Vader “no” button

Last night I published my first application on the Android market. It’s just a cool button that plays the famous “noooo” scream made by Darth Vader in Star Wars: Episode III – Revenge of the Sith.

Enjoy! 😀

First encounter with AIR for Android

Today I made some experiments with AIR for Android. The process was very smooth and I like how simple everything is, in just a few minutes I managed to compile an application and play with it on my Android device. Totally love the way that I can reuse the ActionScript 3 code and make beautiful applications for Android!

Not so many good words about the Android Market. I started an account, then I was asked to pay a fee of $25 and then when my account was created I noticed that I can’t really make paid applications for the Android market since Google Checkout is not available in Romania. How messed up is that? You want people to develop applications for your marketplace, you request a fee and then they have no way to at least get some of that money back. It’s not that I can’t live without 25 bucks, but that really sucks, I feel like I’m giving them money so I can develop for their marketplace and help it grow a little more (so they can earn even more money). I love Flash related technologies and Android, but this doesn’t have any logic.

Anyway, I tried to implement an older youtube player into my AIR application so I can test it out and see how it works. The problem was that when I played a video and hit the hardware back button on my device, the video was still playing because the application minimized instead of closing (as I imagined it would). Then I started to search for a solution, and sure enough, I found it very fast on Tom Krcha’s blog. To close the button when you hit the back button you first need to register a handler:

if(Capabilities.cpuArchitecture=="ARM")
{
	NativeApplication.nativeApplication.addEventListener(KeyboardEvent.KEY_DOWN, handleKeys);
}

Then you need to make the function for that handler:

function handleKeys(event:KeyboardEvent):void
{
	if(event.keyCode == Keyboard.BACK)
	NativeApplication.nativeApplication.exit();
}

That’s it. I will continue to work with AIR for Android and hopefully make some cool apps 🙂

This is amazing! 3D Flash Game with P2P Multiplayer

I have to say, a Multiplayer 3D Game running in Flash Player is really exciting!
The future of gaming will change from now on. Take a look and tell me what you think 😉