The Assets class provides a cross-platform interface to access embedded images, fonts, sounds and other resource files.

The contents are populated automatically when an application is compiled using the OpenFL command-line tools, based on the contents of the *.xml project file.

For most platforms, the assets are included in the same directory or package as the application, and the paths are handled automatically. For web content, the assets are preloaded before the start of the rest of the application. You can customize the preloader by extending the NMEPreloader class, and specifying a custom preloader using in the project file.

See also:

Static variables

@:value(new AssetCache())staticcache:IAssetCache = new AssetCache()

Static methods

@:value({ useWeakReference : false, priority : 0, useCapture : false })staticaddEventListener(type:String, listener:Dynamic, useCapture:Bool = false, priority:Int = 0, useWeakReference:Bool = false):Void

staticdispatchEvent(event:Event):Bool

@:value({ type : null })staticexists(id:String, ?type:AssetType):Bool

Returns whether a specific asset exists

Parameters:

id

The ID or asset path for the asset

type

The asset type to match, or null to match any type

Returns:

Whether the requested asset ID and type exists

@:value({ useCache : true })staticgetBitmapData(id:String, useCache:Bool = true):BitmapData

Gets an instance of an embedded bitmap

var bitmap = new Bitmap (Assets.getBitmapData ("image.png"));

Parameters:

id

The ID or asset path for the bitmap

useCache

(Optional) Whether to allow use of the asset cache (Default: true)

Returns:

A new BitmapData object

See also:

staticgetBytes(id:String):ByteArray

Gets an instance of an embedded binary asset

var bytes = Assets.getBytes ("file.zip");

Parameters:

id

The ID or asset path for the asset

Returns:

A new ByteArray object

See also:

@:value({ useCache : true })staticgetFont(id:String, useCache:Bool = true):Font

Gets an instance of an embedded font

var fontName = Assets.getFont ("font.ttf").fontName;

Parameters:

id

The ID or asset path for the font

useCache

(Optional) Whether to allow use of the asset cache (Default: true)

Returns:

A new Font object

See also:

staticgetLibrary(name:String):LimeAssetLibrary

staticgetMovieClip(id:String):MovieClip

Gets an instance of an included MovieClip

var movieClip = Assets.getMovieClip ("library:BouncingBall");

Parameters:

id

The ID for the MovieClip

Returns:

A new MovieClip object

@:value({ useCache : true })staticgetMusic(id:String, useCache:Bool = true):Sound

staticgetPath(id:String):String

Gets the file path (if available) for an asset

var path = Assets.getPath ("file.txt");

Parameters:

id

The ID or asset path for the asset

Returns:

The path to the asset, or null if it does not exist

@:value({ useCache : true })staticgetSound(id:String, useCache:Bool = true):Sound

Gets an instance of an embedded sound

var sound = Assets.getSound ("sound.wav");

Parameters:

id

The ID or asset path for the sound

useCache

(Optional) Whether to allow use of the asset cache (Default: true)

Returns:

A new Sound object

See also:

staticgetText(id:String):String

Gets an instance of an embedded text asset

var text = Assets.getText ("text.txt");

Parameters:

id

The ID or asset path for the asset

Returns:

A new String object

statichasEventListener(type:String):Bool

statichasLibrary(name:String):Bool

@:value({ instance : null })staticinitBinding(className:String, ?instance:Dynamic):Void

Connects a user-defined class to a related asset class.

This method call is added to the beginning of user-defined class constructors when the @:bind meta-data is used. This allows insertion of related asset resources in compatible super classes, such as openfl.display.MovieClip.

Parameters:

className

The registered class name of the asset constructor

instance

The current class instance to be bound (default is null)

Returns:

Whether asset binding was successful

@:value({ useCache : true, type : null })staticisLocal(id:String, ?type:AssetType, useCache:Bool = true):Bool

Returns whether an asset is "local", and therefore can be loaded synchronously

Parameters:

id

The ID or asset path for the asset

type

The asset type to match, or null to match any type

useCache

(Optional) Whether to allow use of the asset cache (Default: true)

Returns:

Whether the asset is local

@:value({ type : null })staticlist(?type:AssetType):Array<String>

Returns a list of all embedded assets (by type)

Parameters:

type

The asset type to match, or null to match any type

Returns:

An array of asset ID values

@:value({ useCache : true })staticloadBitmapData(id:String, useCache:Bool = true):Future<BitmapData>

Loads an included bitmap asset asynchronously

Assets.loadBitmapData ("image.png").onComplete (handleImage);

Parameters:

id

The ID or asset path for the asset

useCache

(Optional) Whether to allow use of the asset cache (Default: true)

Returns:

Returns a Future

See also:

staticloadBytes(id:String):Future<ByteArray>

Loads an included byte asset asynchronously

Assets.loadBytes ("file.zip").onComplete (handleBytes);

Parameters:

id

The ID or asset path for the asset

Returns:

Returns a Future

See also:

@:value({ useCache : true })staticloadFont(id:String, useCache:Bool = true):Future<Font>

Loads an included font asset asynchronously

Assets.loadFont ("font.ttf").onComplete (handleFont);

Parameters:

id

The ID or asset path for the asset

useCache

(Optional) Whether to allow use of the asset cache (Default: true)

Returns:

Returns a Future

See also:

staticloadLibrary(name:String):Future<AssetLibrary>

Load an included AssetLibrary

Parameters:

name

The name of the AssetLibrary to load

Returns:

Returns a Future

staticloadMovieClip(id:String):Future<MovieClip>

Loads an included MovieClip asset asynchronously

Assets.loadMovieClip ("library:BouncingBall").onComplete (handleMovieClip);

Parameters:

id

The ID for the asset

useCache

(Optional) Whether to allow use of the asset cache (Default: true)

Returns:

Returns a Future

@:value({ useCache : true })staticloadMusic(id:String, useCache:Bool = true):Future<Sound>

Loads an included music asset asynchronously

Assets.loadMusic ("music.ogg").onComplete (handleMusic);

Parameters:

id

The ID or asset path for the asset

useCache

(Optional) Whether to allow use of the asset cache (Default: true)

Returns:

Returns a Future

@:value({ useCache : true })staticloadSound(id:String, useCache:Bool = true):Future<Sound>

Loads an included sound asset asynchronously

Assets.loadSound ("sound.wav").onComplete (handleSound);

Parameters:

id

The ID or asset path for the asset

useCache

(Optional) Whether to allow use of the asset cache (Default: true)

Returns:

Returns a Future

See also:

staticloadText(id:String):Future<String>

Loads an included text asset asynchronously

Assets.loadText ("text.txt").onComplete (handleString);

Parameters:

id

The ID or asset path for the asset

useCache

(Optional) Whether to allow use of the asset cache (Default: true)

Returns:

Returns a Future

staticregisterBinding(className:String, library:AssetLibrary):Void

Registers an AssetLibrary binding for use with @:bind or Assets.bind

Parameters:

className

The class name to use for the binding

method

The AssetLibrary responsible for the binding

staticregisterLibrary(name:String, library:AssetLibrary):Void

Registers a new AssetLibrary with the Assets class

Parameters:

name

The name (prefix) to use for the library

library

An AssetLibrary instance to register

@:value({ capture : false })staticremoveEventListener(type:String, listener:Dynamic, capture:Bool = false):Void

staticunloadLibrary(name:String):Void

staticunregisterBinding(className:String, library:AssetLibrary):Void

Unregisters an AssetLibrary binding for use with @:bind or Assets.bind

Parameters:

className

The class name to use for the binding

method

The AssetLibrary responsible for the binding