Compiling Flex 4.5 with FlashDevelop 3.3.4

Flex 4.5 has been released! Yes, the release version (4.5.0.20967) has been available since several days ago, so go download it now 😉

I was happy when I got this SDK. Finally, I can replace all those old MX components with new shiny Spark ones. But when I tried to compile, I got this error:

Error: unable to open ‘libs/player/10.1/playerglobal.swc’

Apparently, Flex 4.5 SDK need to be targeted to Flash Player 10.2. No problem, I’ll change on my project settings.

Select Flash Player 10.2... Wait, what?

This is a problem if you’re using FlashDevelop 3.3.4. There is no Fash Player 10.2 on Platform Target. But don’t panic! This can be easily handled by adding 2 additional compiler parameters:

-swf-version=11

-target-player=10.2

You can add them on Project > Properties, specifically on tab Compiler Options. Add those parameters on Additional Compiler Options:

Don’t forget to click OK and Apply. Now, compiling your project using Flex 4.5 should not be a problem anymore.

Enjoy!

Setting Up Metasequoia Plugin SDK

I’m currently making a 3D Flash game using Away3D. For 3D modeling and animation, I use Metasequoia with additional plugin called Keynote. They’re really great tools although at the beginning I had problem with the workflow.

My workflow was like:

  1. Create 3D model and animation using Metaseq and Keynote
  2. Save manually every animation frame as MQO file
  3. I create my own tool using Adobe AIR. This tool loads all MQO files and combine them into a XML file
  4. Away3D (Flash) loads MQO and XML file and convert them into vertex animation

The process #2 and #3 were very time consuming. So I decided to learn Blender. I was hoping I could export the animation into MD2 file directly from Blender file (shorter workflow).

It wasn’t the right decision for me. Learning Blender was so hard and frustating. Strangely, it’s not my first time learning Blender. I already did this several times and always forget everything once my project was done. This time, I tried the new Blender 2.5 beta, which they say, have better and intuitive UI.

There were a lot of hair pulling moments, problems with the UI, always fail to setup rigging for animation, confusing documentation, and there was no working MD2 exporter.

I know Blender is a good tool, in fact that there’s a lot of games and movies done using Blender, but this tool is just not for me.

So I switched back to Metaseq and dare myself to create Metaseq plugin. Yes, you can create your own Metaseq plugin. You can download Metaseq Plugin SDK for free and use Visual C++ to create the DLL files.

Milk Carton Boy, using Metasequoia and Keynote

The instruction was in Japanese and still using Visual Studio 2002 or 2008. Luckily, I managed to make it work using Visual Studio 2010 Express Edition on my Windows 7. Here’s what I did (can’t remember precisely.. sorry):

  • Install Visual Studio 2010 Express Edition C++
  • Install the latest Windows SDK, Windows SDK 7 & .Net Framework 4, version 7.1
  • Install the latest WTL library. I use the latest one, WTL81_9127. Extract them manually.
  • Download the latest Metaseq SDK ( mqsdk249c.zip) and extract the file.
  • Import MQSDK workspace file as VS2010 Solution file
  • Add WTL location to C++ include directory
  • Try to compile one of the project.
  • Copy the dll from release folder to metaseq plugin folder and test it

In the end, I managed make a simple plugin 🙂 It reads Keynote animation data and export them into my custom XML data. I had fun and realized that it’s been 2 years since the last time I am using C++.

Note: Only the non-shareware version of Metasequoia can use plugin. The shareware one does not. But it’s quite affordable, only $45. I could imagine if you use Blender, you could spend that much money for books and tutorial DVDs.

Note #2: You can download the source code of my exporter plugin here: http://abiyasa.com/lab/away3d/mqoplugins/mqoPlugins.zip (around 54K). I use Keynote API (included if you download Keynote plugin) and use the example (ExportXS) as the basic for my plugins. Feel free to ask me if things are not clear 😉

How to Use Flex SDK 4.5 Hero with FlashDevelop

If you’re a Flex developer and want to try Flex 4.5 Hero with Android device, then this post might help you to get started 😉
You might also have a look at my previous post about creating Adobe AIR app for Android using AS 3.0. It might help you to setup some parts like Android SDK and digital certificates, also if you don’t want to use Flex framework and want to use pure AS3 solution.

Before you start, you can always download the whole project and source code of this post from here.

Continue reading

Milk Carton Boy for Android

Two months ago, I released Milk Carton Boy Shake Well for Flash mobile. I developed it using FlashDevelop, Away3D, and Flex SDK 4.1 and didn’t use any mobile specific APIs (gesture, touch, or accelerometer). Basically I just adjust the screen size for 400×678 and the game works really well on Android Browser with Flash Player.

Now I have my Samsung Galaxy S, it’s much easier to test the game. It is quite easy to convert an existed FlashDevelop’s Flash project to Android AIR project. So I immediately convert the game to Adobe AIR app and tested on my Android.

Milk Carton Boy installed on Android

Milk Carton Boy installed on Android

Here are some interesting things that I found during the testing:

Milk Carton Boy for Adobe AIR performs (a little bit) slower compare to Flash Player! This is quite surprising since I expect that it could run faster, well at least runs at the same speed 😐 I’m using Adobe AIR 2.5.1.1774 and my Flash Player version is 10.1.92.8

I really need to implement a button to quit the game. I never see any Flash game with a quit button. That’s because we don’t need it 😀

When the user closes the browser or browses to other page, our Flash game will be gone automatically. However, Adobe AIR app, just like other Android app, will be moved to memory if the user press HOME button or BACK button. It will stay in the memory until the OS kills it (when it needs more memory). That’s why if you don’t explicitly quit your app, it will stay (or even keeps on playing) on background.

As a bonus, here’s what I did to convert my FlashDevelop project for Flash to FlashDevelop for Android 😉

  • Copy your FlashDevelop project to another file name, like myGameAndroid. You can have two project files on the same project folder
  • Now open you project file on any text editor (Don’t double click it). Modify the following properties:
    • Pre-Build command
      <preBuildCommand>taskkill /f /fi "IMAGENAME eq adl.exe"</preBuildCommand></pre>
    • Build Option. Inside the <build>, change the <option additional=”” /> to <option additional=”+configname=air” />
    • Other project options
      <!-- Other project options -->
      <options>
         <option showHiddenPaths="False" />
         <option testMovie="Custom" />
         <option testMovieCommand="$(FlexSDK)binadl.exe;application.xml bin" />
      </options>
  • Make sure that you have installed Adobe AIR SDK 2.5 on top of your Flex SDK, creates the application.xml, and the certificate file. See my previous post about creating Adobe AIR app for Android
  • Delete any files on obj folder before opening the project file

Enjoy!

How to Create Adobe AIR for Android using FlashDevelop

If you’re a Flash developer who wants to start developing Flash with Android device, then this post might help you to get started 😉

Adobe AIR SDK 2.5 has been released since last October which includes Adobe AIR for Android packager. Most help avaialble are for Flash Builder 4 or Flash CS5, only a few using FlashDevelop.

This post is a step-by-step instruction for creating Actionscript 3 Flash project for Android, based on Adobe’s guide for creating Adobe AIR application for Android with Flex SDK.?This will not compatible for For Flex Mobile (Flex Hero/4.5 SDK). Stay tune since I’ll write one later 😉
Update (21st Dec):For using Flex Hero on FlashDevelop, see my latest post 🙂