Internal storage system to prevent graphics from being used repeatedly in memory.
Accessed via FlxG.bitmap
.
Constructor
Variables
read onlywhitePixel:FlxFrame
Helper FlxFrame object. Containing only one frame. Useful for drawing colored rectangles of all sizes in FlxG.renderTile mode.
Methods
add(Graphic:FlxGraphicAsset, Unique:Bool = false, ?Key:String):FlxGraphic
Loads a bitmap from a file, clones it if necessary and caches it.
Parameters:
Graphic | Optional FlxGraphics object to create FlxGraphic from. |
---|---|
Frames | Optional FlxFramesCollection object to create FlxGraphic from. |
Bitmap | Optional BitmapData object to create FlxGraphic from. |
BitmapClass | Optional Class for BitmapData to create FlxGraphic from. |
Str | Optional String key to use for FlxGraphic instantiation. |
Unique | Ensures that the bitmap data uses a new slot in the cache. |
Key | Force the cache to use a specific Key to index the bitmap. |
Returns:
The FlxGraphic we just created.
inlineaddGraphic(graphic:FlxGraphic):FlxGraphic
Caches specified FlxGraphic object.
Parameters:
graphic | FlxGraphic to store in the cache. |
---|
Returns:
cached FlxGraphic object.
inlinecheckCache(Key:String):Bool
Check the local bitmap cache to see if a bitmap with this key has been loaded already.
Parameters:
Key | The string key identifying the bitmap. |
---|
Returns:
Whether or not this file can be found in the cache.
clearCache():Void
Clears image cache (and destroys those images). Graphics object will be removed and destroyed only if it shouldn't persist in the cache and its useCount is 0.
clearUnused():Void
Removes all unused graphics from cache, but skips graphics which should persist in cache and shouldn't be destroyed on no use.
create(Width:Int, Height:Int, Color:FlxColor, Unique:Bool = false, ?Key:String):FlxGraphic
Generates a new BitmapData object (a colored rectangle) and caches it.
Parameters:
Width | How wide the rectangle should be. |
---|---|
Height | How high the rectangle should be. |
Color | What color the rectangle should be (0xAARRGGBB) |
Unique | Ensures that the bitmap data uses a new slot in the cache. |
Key | Force the cache to use a specific Key to index the bitmap. |
Returns:
The BitmapData we just created.
dumpCache():Void
Dumps bits of all graphics in the cache. This frees some memory, but you can't read/write pixels on those graphics anymore. You can call undump() method for each FlxGraphic (or undumpCache()) object which will restore it again.
findKeyForBitmap(bmd:BitmapData):String
Gets key from bitmap cache for specified BitmapData
Parameters:
bmd | BitmapData to find in cache |
---|
Returns:
BitmapData's key or null if there isn't such BitmapData in cache
generateKey(systemKey:String, userKey:String, unique:Bool = false):String
Creates string key for further caching.
Parameters:
systemKey | The first string key to use as a base for a new key. It's usually a key from openfl.Assets ("assets/image.png"). |
---|---|
userKey | The second string key to use as a base for a new key. It's usually a key provided by the user |
unique | Whether generated key should be unique or not. |
Returns:
Created key.
inlineget(key:String):FlxGraphic
Gets FlxGraphic object from this storage by specified key.
Parameters:
key | Key for FlxGraphic object (its name) |
---|
Returns:
FlxGraphic with the key name, or null if there is no such object
inlinegetKeyForClass(source:Class<Dynamic>):String
Helper method for getting cache key for FlxGraphic objects created from the class.
Parameters:
source | BitmapData source class. |
---|
Returns:
Full name for provided class.
getKeyWithSpacesAndBorders(baseKey:String, ?frameSize:FlxPoint, ?frameSpacing:FlxPoint, ?frameBorder:FlxPoint, ?region:FlxRect):String
Generates key from provided base key and information about tile size and offsets in spritesheet and the region of image to use as spritesheet graphics source.
Parameters:
baseKey | Beginning of the key. Usually it is the key for original spritesheet graphics (like "assets/tile.png") |
---|---|
frameSize | the size of tile in spritesheet |
frameSpacing | offsets between tiles in offsets |
region | region of image to use as spritesheet graphics source |
Returns:
Generated key for spritesheet with inserted spaces between tiles
getUniqueKey(?baseKey:String):String
Gets unique key for bitmap cache
Parameters:
baseKey | key's prefix |
---|
Returns:
unique key
onContext():Void
New context handler. Regenerates tilesheets for all dumped graphics objects in the cache.
remove(graphic:FlxGraphic):Void
Totally removes specified FlxGraphic object.
Parameters:
graphic | object you want to remove and destroy. |
---|
removeByKey(key:String):Void
Totally removes FlxGraphic object with specified key.
Parameters:
key | the key for cached FlxGraphic object. |
---|