Skip to content

Instantly share code, notes, and snippets.

@Draknek
Created May 6, 2014 00:11
Show Gist options
  • Save Draknek/0dfe9b6c695e5b8db45a to your computer and use it in GitHub Desktop.
Save Draknek/0dfe9b6c695e5b8db45a to your computer and use it in GitHub Desktop.
Example single-line level file format for Flash
var VERSION:String = "B";
function dataToString (tiles:BitmapData):String
{
var i:int;
var j:int;
var tile:uint;
var bytes:ByteArray = new ByteArray;
for (i = 0; i < tiles.width; i++) {
for (j = 0; j < tiles.height; j++) {
tile = tiles.getPixel(i, j);
bytes.writeByte(tile);
}
}
bytes.compress();
return VERSION + Base64.encode(bytes);
}
function stringToData (data:String):BitmapData
{
var version:String = data.charAt(0);
data = data.substring(1);
var tiles:BitmapData = new BitmapData(10, 10, false, 0x0);
var i:int;
var j:int;
var tile:uint;
var bytes:ByteArray;
bytes = Base64.decode(data);
bytes.writeUTFBytes(data); // I can't remember what this does or if it should be here :)
bytes.uncompress();
for (i = 0; i < tiles.width; i++) {
for (j = 0; j < tiles.height; j++) {
tile = bytes.readByte();
tiles.setPixel(i, j, tile);
}
}
return tiles;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment