Archive for the 'ACTIONSCRIPT 2.0' Category

ActionScript Errors ( #aserror ) Hashtag on Twitter

aserror

The other day working late  and trying to fix some ActionScript error,  I got the idea of starting a Twitter Hashtag (#aserror) for this kind of errors and bugs that If you try to solve on your own it may take some time ( even using Google or the Beta of ActionScripit Errors wich is very good by the way )  and with a close deadline  losing half an hour tracking those errors  may be relly significant.

So  my toughs went to twitter  where a bast community of Flash users share and help each other, it’s the perfect place to get some aid on a more personal level and get out fast of those ActionScript Errors that may have you stuck in sometimes common troubles.

Hope it helps someone i’ll start using the #aserror hashtag  and the number  describing the Error  and the solution ( hack ?) that  got me out of there.

And hope to get some more free time to also post some examples and tests of how to recreate those errors and solve them here on my blog.

Well I relly hope to get that little snowball rolling and see the rest of the community that’s alredy on Twitter start using the #aserror tag to help each other out.

I almost forgot….  I’m @swfgeek on Twitter in case anyone wants to follow my rambligs :)

ActionScript 3 migration cookbook beta at Adobe Developer Connection

ActionScript

A new section on the Adobe Developer Connection it’s up , ActionScript 3 migration cookbook and it looks really usefull if you’re still using  ActionScript 2 on a regular basis this cookbook  would be a good migration point.

You can already see some entries online or download the pdf version of the ActionScript 3 migration cookbook


An excerpt form the site:
The ActionScript 3 migration cookbook beta provides a quick introduction to migrating to ActionScript 3 from ActionScript 2. It is targeted at designers and developers who have some experience scripting content within Adobe Flash CS4 Professional. It does not require an understanding of object-oriented programming.

SWX Native Data format for your Flash Projects

Well, it seems that Mr. Aral Balkan doesn’t lose a minute, aside of all the OS ( open source ) Flash Proyects of OSFlash, hes been developing a great proyect SWX wish is a native data format for Flash. It uses SWF files to store and exchange data. It also implements an RPC gateway (currently in PHP), tools (a data analyzer/debugger and a service explorer), various APIs (Flickr, Twitter, etc.), and an ActionScript library that make creating data driven Flash and Flash Lite applications a piece of cake.

SWX Beta 1.2

If you download and Install the SWX MAMP(Mac – Apache – MySQL – PHP) Bundle (on OS X) click here to download. It will be up an running in no time ( and it’s really like five minutes ). If you already have a development local server You can download the SWX files in zip format( from here ) and extract them on your localhost’s root folder.

Here’s a very neat tutorial that Aral put up on SWX Format site to help you out with the basic steps in how to get it running:

So don’t waste your time visit SWF Format download the SWX MAMP bundle. And start playing with your data.
Besides isn’t Datum ( The little mascot ) beautiful ? ; )

Flash in the Can Toronto 2007 Videos

The people of Flash in the can (FITC) had put up a video section on their site that show some of the things happening at Toronto in this years FITC be shure to check them out.
fitcVideo
Flash in the can Videos.

Kelvin Luck’s Flasher

flashrTest

Yesterday my wife asked me if I could somehow display her flickr archives on her personal website. And to be quite frank I had been playing with the flickr API but never gave me the time to make something real out of it, so I started googling around and found out this great Actionscript 2.0 wrapper called Flashr by Kelvin Luck that makes it easy to develop Flash applications to display and interact with photos on flickr.com.

So this is a very simple example (based on an tutorial of the version 0.4 of Flashr and I updated it to work with the current version (0.5)) of what can be done with Flashr but I plan to add more functionality and eyecandy to it (I’ll upload the result of that).

I almost forgot here’s the script that make this work:

?View Code ACTIONSCRIPT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
import com.kelvinluck.flashr.core.Flashr;
import com.kelvinluck.flashr.core.Photo;
import com.kelvinluck.flashr.core.Photoset;
import com.kelvinluck.flashr.core.Person;
import com.kelvinluck.flashr.core.FlashrResponse;
import com.kelvinluck.util.LogWrapper;
import com.dynamicflash.utils.Delegate;
 
class com.cecymeade.UserRecentPhotos {
var xMax:Number = 214;
var yMax:Number = 214;
var xTemp:Number;
var yTemp:Number;
var apiKey:String = "Your Flickr API key here";
var userNsid:String = "90349680@N00";
var _target:MovieClip;
 
function UserRecentPhotos(target:MovieClip) {
Stage.scaleMode = "noScale";
LogWrapper.getInstance().init();
LogWrapper.getInstance().addTracePublisher();
_target = target;
var _flashr:Flashr = Flashr.getFlashr();
_flashr.apiKey = apiKey;
var _flashrResponse:FlashrResponse = new FlashrResponse();
_flashrResponse.setSuppressOutput(true);
_flashrResponse.onPeopleGetPublicPhotos = Delegate.create(this, onPeopleGetPublicPhotos);
_flashr.peopleGetPublicPhotos(userNsid, null, 16, 1);
}
 
function onPeopleGetPublicPhotos(p:Person):Void {
var photosArray:Array = p.getPhotos();
var userNsid:String = p.nsid;
for (var i:Number = 0; i
var thisPhoto:Photo = Photo(photosArray[i]);
var mc:MovieClip = _target.createEmptyMovieClip("photo"+i, i);
mc._x = 1+(i%4)*76;
mc._y = 1+Math.floor(i/4)*76;
mc.createEmptyMovieClip("jpgHolder", 1);
mc.jpgHolder.loadMovie(thisPhoto.thumbnailUrl);
mc.xMax = xMax;
mc.yMax = yMax;
var freeDepth = (_root.getNextHighestDepth());
mc.onRollOver = function() {
xTemp = this._x;
yTemp = this._y;
this._x = Math.min(xTemp, xMax);
this._y = Math.min(yTemp, yMax);
this.swapDepths(freeDepth);
this._xscale = this._yscale=120;
};
mc.onRollOut = function() {
this._x = xTemp;
this._y = yTemp;
this._xscale = this._yscale=100;
};
mc.photo = thisPhoto;
mc.onPress = function() {
getURL(this["photo"].photoPageUrl, "_blank");
};
}
}
 
public static function main():Void {
var u:UserRecentPhotos = new UserRecentPhotos(_root);
}
 
public function toString():String {
return "[com.cecymeade.UserRecentPhotos]";
}
 
}

[snippet=6312]