I don't think Flash allows direct access to the clipboard for security reasons (except for AIR). The easiest solution would be to create a TextField that the user can patse into / copy from manually (which should work cross-platform as well).
the root of the problem here is that ant was removed from the android build tools after KitKat I believe? In any case, it's necessary for lime to download the android sdk it needs in order for ant to be there.
Using an up to date android sdk elsewhere on the system may cause some problems for you since build.xml will continue to not be found unless the sdk is downgraded. My solution was to have a completely different android sdk just for lime, seems to work ok compiling with Android sdk 19.
TiledMap has tilesetArray, from where one can read different tilesets, including external, but if several tilesets are wanted in one layer, one needs to merge them. I have some big old snippet for this:
var tileMap: TiledMap = new TiledMap(Xml.parse(tmxFile), "assets/data/");
//mapColliders = new FlxGroup();
var tileSize: FlxPoint = FlxPoint.get(tileMap.tileWidth, tileMap.tileHeight);
// merge tilesets into one
var tilesetTileFrames: Array<FlxTileFrames> = new Array<FlxTileFrames>();
var tilesetProperties: Map<Int, TiledPropertySet> = new Map<Int, TiledPropertySet>();
var removeTilesets: Bool = false;
var firstGid: Int = tileMap.tilesetArray.firstGID;
for (tileset in tileMap.tilesetArray)
removeTilesets = true;
var width = tileset.numCols * tileset.tileWidth;
var height = tileset.numRows * tileset.tileHeight;
tilesetTileFrames.push(FlxTileFrames.fromRectangle(Resource.LoadBitmap("assets/data/" + tileset.imageSource, width, height, 0xAA8A5A46, false), tileSize));
//tilesetTileFrames.push(Resource.LoadBitmapInAtlas("assets/data/" + tileset.imageSource, width, height, 0xAA8A5A46, atlas));
//trace("tileset.tileProps.length: " + tileset.tileProps.length);
for (i in 0...tileset.tileProps.length)
var propertySet = tileset.getProperties(i);
if (propertySet != null)
tilesetProperties[i + tileset.firstGID] = propertySet;
var tileSpacing: FlxPoint = FlxPoint.get(0, 0);
//var tileBorder: FlxPoint = FlxPoint.get(2, 2);
var tileBorder: FlxPoint = FlxPoint.get(0, 0);
var mergedTileset = FlxTileFrames.combineTileFrames(tilesetTileFrames/*, tileSpacing, tileBorder*/);
var node: FlxNode = atlas.addNode(mergedTileset.parent.bitmap, "combined tiles");
var combinedTileSize: FlxPoint = new FlxPoint(tileSize.x /*+ tileBorder.x * 2*/, tileSize.y /*+ tileBorder.y * 2*/);
var combinedTileFramesFromAtlas: FlxTileFrames = node.getTileFrames(combinedTileSize/*, tileSpacing, tileBorder*/);
for (i in 0...tilesetTileFrames.length)
tilesetTileFrames[i] = null;
mergedTileset = combinedTileFramesFromAtlas;
for (tileset in tileMap.tilesetArray)
FlxG.bitmap.removeByKey("assets/data/" + tileset.imageSource);
@claudio-ficara Thanks for the suggestions =) I tried my demo with these alterations and unfortunately the results are not much better. The FlxSpriteGroup does not seem to respond well to setGraphicSize() — for me, it disappears from the screen entirely (or fails to draw?).
I thought the center offset was a good idea, but using that method, the green and white FlxSprites are now centered on the lower-right corner of the red boxes. And the FlxText and FlxButtons now float away into negative space for the smaller sizes. One plus is that green and white FlxSprites do align better with each other though (i.e. the border is consistent for all sizes), so there might be something there if you had a group containing only FlxSprites.
Eventually, I gave in and decided to create a new FlxSpriteGroup and resize/re-position the group members individually, instead of trying to get HaxeFlixel to adjust the group as a whole. This works for me, since I don't have too many members in the group, so I guess this method solves my issue for now.
Looks like your connection to HaxeFlixel was lost, please wait while we try to reconnect.