所以我想在Dart做一个游戏,我决定查看这个asset_pack package。我尝试测试示例代码(如下),但asset.imported
打印null
..为什么会这样?
我在我的项目文件夹中创建了/web/test/foo.txt并在其中添加了一些文本,但仍然打印了null
。
main() {
// Construct a new AssetManager.
AssetManager assets = new AssetManager();
// Register the 'test' pack. No url is needed so the empty string suffices.
AssetPack testPack = assets.registerPack('test', '');
// Register asset 'foo' and load it's contents from 'foo.txt'.
// The asset type is 'text' and there are no arguments for the loader
// or importer.
Future<Asset> futureAsset = testPack.loadAndRegisterAsset('foo', 'foo.txt',
'text', {}, {})
futureAsset.then((asset) {
// Print the contents of foo.txt.
print(asset.imported);
});
}
答案 0 :(得分:2)
我认为您的文件必须位于web/
文件夹中,或者您必须加载test/foo.txt
。如果您运行该示例,您应该会看到在开发人员控制台中找不到该文件的错误。这段代码似乎有效:
Future<Asset> futureAsset = testPack.loadAndRegisterAsset('foo', 'text',
'test/foo.txt', {}, {})