Archive for the ‘Programming’ Category

Flash Builder 4.7 and old projects

Oct
13

I recently decided to give the beta of Flash Builder 4.7 a try, and found a project I have been working on deciding not to compile.  All kinds of warnings (100+) showed up in my problems panel.  My project relies on a shared project, and for some reason some core files like BitmapAsset and ByteArrayAsset weren’t found.

Class mx.core::BitmapAsset could not be found.

Most google searches only turned up fixes involving the compiler flags ala:

mxmlc -static-link-runtime-shared-libraries=true

This did not fix my problem, what ultimately did though was going to my shared library’s properties, Library Path tab, and setting the combo box in the picture below to Merged into code.

This ended up clearing most errors, a few still remained but weren’t problem. It turns out that HAXE compiled swcs are causing warning to show up relating to missing: getClass.T and Null.t
These omissions don’t seem to be affecting my ability to compile, but that is probably due to the fact that I’m not using the NAPE library which depends on a HAXE compiled swc.

Embracing E4X Namespaces in Flash

Mar
28

Every time I start working on a project where I end up using xml and flash, it usually seems pretty straight forward. I usually bounce between sephiroth and kirupa for getting my bearings. Initially it all ends up feeling fine, especially when working with a perfectly constructed test xml file.

It’s only when you attempt to parse an established XML type, such as RSS, where you feel the snags of dealing with XML. At first its not clear why things are a problem, you are targeting the correct child nodes, not spelling anything wrong. Thats when you start to trace out the xml and the namespace nightmare becomes apparent. What is the extra stuff being appended to the nodes? How do I target these things?
Read more »

Babel Flash, the AS3 Localization Manager

Jan
10

Localizing any project is never fun to think about and usually not the ‘sexy’ part of a project.  I’d like to introduce you my latest library: Babel Flash.

Babel Flash is a free AS3 library whose goal is to make localizing your flash projects easier. It handles loading external font swfs and replace graphics and text on the fly. Setting it up can  both be done programmatically or in the IDE, so it’s both programmer and artist friendly.
Read more »

AS3 Sound Sequencer

Nov
20

Well in my first post I hinted that it was related to another tool that I was going to share.

Well here it is, this is my AS3 Sound Sequencer. This bit of script in conjuncture with Matt Przybylski’s Sound Manager allows you to string a few sounds together with optional delays between them and giving you the ability to pause or stop it at will.

Read more »

Player.io with android and iOS

Nov
7

I’d like to get to the penelope c# rewrite after this, but wasn’t able to get to it this week.

Instead I did a quick test today about something that was on my mind.

Player.io is a pretty interesting framework for Flash allowing you to develop multiplayer games ( and more ) with out having to deal with setting up servers and such. It is beyond robust including the ability to create some service scripts for handling the traffic between clients if you need something more than a back and forth.

I had always wondered if it was able to compile into the iphone using the as3 to ipa process adobe has.

I basically went though the starting tutorial (fridge magnet) of player.io , compiled and tested it to make sure I could get it working, which I did. Then I converted the fla to compile an iPhone ipa and it created the app. Unfortunately when I tried to run the app on my iPhone it got stuck on the connecting part of the ‘game’ and wouldn’t progress. Not sure if more massaging would fix this issue, but would be happy to know if there is a way to get it running on iOS. UPDATELooks like player.io generates a swf when you hit this url http://api.playerio.com/flashbridge/1 and since you can’t load swfs at runtime on the iPhone its out of luck.

I also navigated to the test page on my Droid running Froyo, and initially I wasn’t able to get the page to load. I had the plugin’s set to run on click (instead of just run when the page loads.) When I changed the option to run when the page loads, android was able to load the swf and connect to the multiplayer server. Not sure if the plugin setting was just a fluke on my phone, but figured that I’d mention it. Speed wise, looks like the Droid’s communication was a bit slow, but not painfully so.

Unity Penelope Tutorial update for Unity 3 and C# – Part 2, Pages 37-71

Oct
31

Need Part 1?

Wow, I didn’t realize that part 2 would involve writing so much code. The tap control piece was much longer than I had expected, and even now the zoom in feels much faster than the zoom out so I might have a small error some where.

I also had to rewrite the ZoomCamera JS to C# because the TapControl had a code reference to the class and I didn’t realize that you couldn’t have mismatching code classes reference each other, not that I am that surprised that it was a problem when it arose either mind you… maybe I imagined unity was so magical that it wouldn’t be an issue. ^_~

Part 2 converts all three control types into c# along with 2 other classes:
FollowTransform
CameraRelativeControl
PlayerRelativeControl
TapControl
ZoomCamera

I did run into a few small errors in the tutorial, and I made notes by them above their respected snippet or as a comment in the code. Enjoy.
Read more »

Unity Penelope Tutorial update for Unity 3 and C# – Part 1, Pages 19-33

Oct
22

I like to get familiar with Unity3d v3, mobile device development, and c#.

MonoDevelop is a great tool for developing Unity 3. It has excellent code completion and line by line debugging. Unfortunately it doesn’t support UnityScript/JavaScript for code completion, so I decided to suck it up and just force myself to go with C#.

Being unfamiliar with Unity development as a whole, I found the Penelope Tutorial fantastic. It is written using the old unity api and with UnityScript. I figured, since I’m going to be going though the tutorial and converting everything to C# and the Unity 3 API I might as make the coding snippets though out the tutorial available as well.

http://unity3d.com/support/resources/tutorials/penelope.html
Here is the first part: pages 19 – 33 of the Penelope PDF converted to c# and using the latest Unity 3 API

Read more »

Pause Timer for AS3

Oct
15

Pause Timer SourceExample Source

EDIT 05/07/2012:  Made a small changed so getting pausetimer.delay return the initially set delay vs the super.timer delay.  When paused, the pausetimer will update the super.timer delay for the current interval after which it sets it back to the originally set delay.  If you were trying to get the delay before the update, you were seeing this short delay.  The change is outlined here.

Recently I wanted to add a pause function in another tool that I’ll be posting up on here in the future ^_~

Timers were the backbone of the sequencing the tool used and I was pretty surprised to find a lack of pausing ability in the native AS3 Timers.  I looked around to see if anybody had remedied this problem, and Lewinzki did.

The solution was there but I had a few issues with the implementation:

I didn’t like that the delay wouldn’t be reset back to the userset delay (or user updated value) after it had been paused. Basically the timer ticks will be messed up if you didn’t reset the delay back to userset value every tick.

Also if you wanted to attach events to the timer, you actually had to step into the object and listen to the child timer in Lewinzki’s timer.

Other than those two qualms it was sound.  I decided to rewrite it extending the native Timer so its would function exactly the same with the added pause and resume features, though calling start when paused will also just resume as well.
Read more »