いくつかのスプライト画像をロードするための基本的なコードがいくつかあります。Future.wait を使用して、両方の画像がロードされるまで待機しています。ただし、これはまだやりたいことではありません。終了する前に、メンバーに画像の幅と高さを割り当てたいからです。
SpaceShip(this.x, this.y) {
rocket = new ImageElement(src: "nofire.png");
firingRockets = new ImageElement(src: "fire.png");
var futures = [rocket.onLoad.first, firingRockets.onLoad.first];
Future.wait(futures).then((_) {
width = rocket.width;
height = rocket.height;
print("Images loaded. $width $height");
});
print("Returning");
}
....
ship = new SpaceShip(400.0, 200.0);
print("Ship Constructor exited");
出力:
Returning
Ship Constructor exited
Images loaded. 40 75
コンストラクターを終了する前に、すべての画像の読み込みが完了するまで待機する方法が必要です.Dartでこれを行う良い方法はありますか?