In case Flash no longer exists; a copy of this site is included in the Flashpoint archive's "ultimate" collection.

Dead Code Preservation :: Archived AS3 works from wonderfl.net

SporeAPISlide

SporeAPISlide.as
Spore API test program.
http://www.spore.com/comm/developer/
Get Adobe Flash player
by ABA 01 Mar 2009
/**
 * Copyright ABA ( http://wonderfl.net/user/ABA )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/6uCM
 */

// SporeAPISlide.as
//  Spore API test program.
//  http://www.spore.com/comm/developer/
package {
    import flash.display.Sprite;
    [SWF(width="465", height="465", backgroundColor="0", frameRate="30")]
    public class SporeAPISlide extends Sprite {
        public function SporeAPISlide() { main = this; initialize(); }
    }
}
import flash.display.*;
import flash.geom.*;
import flash.events.*;
import flash.net.*;
const SCREEN_WIDTH:int = 465, SCREEN_HEIGHT:int = 465;
var main:Sprite;
var screen:BitmapData = new BitmapData(SCREEN_WIDTH, SCREEN_HEIGHT, false, 0);
var loader:URLLoader = new URLLoader, imageLoader:Loader = new Loader;
// Initialize UIs.
function initialize():void {
    var rect:Rectangle = new Rectangle(0, 0, SCREEN_WIDTH, 1);
    var ci:int, c:int;
    for (var y:int = 0; y < SCREEN_HEIGHT; y++) {
        rect.y = y;
        ci = Math.sin((y - 150) * 0.007) * 100;
        if (ci < 0) c = (0xee + ci) * 0x10000 + (0xee + ci) * 0x100 + (0xee + ci / 2);
        else        c = (0xee - ci) * 0x10000 + int(0xee - ci / 2) * 0x100 + (0xee - ci);
        screen.fillRect(rect, c);
    }
    main.addChild(new Bitmap(screen));
    loader.addEventListener(Event.COMPLETE, gotFeed);
    imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, gotImage);
    main.addEventListener(Event.ENTER_FRAME, update);
    getNextFeed();
}
// Update the frame.
function update(event:Event):void {
    for (var i:int = 0; i < images.length; i++) {
        if (!images[i].update()) { images.splice(i, 1); i--; }
    }
}
// Get the next asset.
const SERVER_STRING:String = "http://www.spore.com";
var feedIndex:int = -1;
function getNextFeed():void {
    feedIndex++;
    loader.load(new URLRequest(SERVER_STRING + "/rest/assets/search/RANDOM/" + feedIndex + "/1"));
}
function gotFeed(e:Event):void {
    var xml:XML = new XML(e.target.data);
    namespace atomenv = "http://www.w3.org/2005/Atom";
    use namespace atomenv;
    var asset:XML = xml..asset[0];
    var id:String = asset..id.toString();
    var subId1:String = id.substr(0, 3), subId2:String = id.substr(3, 3), subId3:String = id.substr(6, 3);
    imageLoader.load(new URLRequest(SERVER_STRING + "/static/thumb/" +
                                    subId1 + "/" + subId2 + "/" + subId3 + "/" + id + ".png"));
}
// Asset's images.
var images:Vector.<Image> = new Vector.<Image>;
class Image {
    public var bitmap:Bitmap, targetX:Number;
    public function update():Boolean {
        bitmap.x += (targetX - bitmap.x) * 0.1;
        if (bitmap.x < -bitmap.width) {
            main.removeChild(bitmap);
            return false;
        }
        return true;
    }
}
function gotImage(e:Event):void {
    var image:Image = new Image;
    image.bitmap = e.target.content;
    image.bitmap.smoothing = true;
    image.bitmap.x = SCREEN_WIDTH;
    image.targetX = SCREEN_WIDTH - image.bitmap.width;
    image.bitmap.y = (SCREEN_HEIGHT - image.bitmap.height) * 0.6;
    for each (var i:Image in images) i.targetX -= image.bitmap.width;
    images.push(image);
    main.addChild(image.bitmap);
    getNextFeed();
}