无法使用 CreateJS 预加载和显示 SVG

2023-12-01

我正在尝试预加载一组 SVG 对象并使用 CreateJS/PreloadJS 显示它们。到目前为止,我能够在不预加载的情况下显示 SVG 对象,但是一旦我使用 PreloadJS 中的 LoadQueue,我就无法让我的示例工作。

有人知道我在这里做错了什么吗?谢谢!

http://jsfiddle.net/trudeo/05eqqp49/

JavaScript

var imageManifest = [
  { id: "MySvgImage", src: "http://dev.w3.org/SVG/tools/svgweb/samples/svg-files/check.svg" }
];

var stage = new createjs.Stage(document.getElementById('gameCanvas'));

var assetQueue = new createjs.LoadQueue(true);
assetQueue.loadManifest(imageManifest);
assetQueue.on('complete', complete);

function complete(e) {   
    // DOESN'T WORK
    var svgImage = new createjs.Bitmap(assetQueue.getResult('MySvgImage'));    
    stage.addChild(svgImage);

    // WORKS
    var svgImage2 = new createjs.Bitmap("http://dev.w3.org/SVG/tools/svgweb/samples/svg-files/circles1.svg");
    stage.addChild(svgImage2);

    stage.update();    
    createjs.Ticker.setFPS(40);
    createjs.Ticker.addListener(tick);
}

function tick() {
    stage.update();
}

HTML

<!DOCTYPE html>

<html lang="en">
<head>
    <script src="http://code.createjs.com/createjs-2013.12.12.min.js"></script>
    <script src="http://code.createjs.com/preloadjs-0.4.1.min.js"></script>
    <script src="app.js"></script>
</head>
<body>
    <canvas id="gameCanvas" width="800" height="800"></canvas>
</body>
</html>

我找到了简单的解决方案。只需强制 PreloadJS 使用图像加载器,而不是 SVGLoader。

{src:"img/bg.svg", id:"bg", type: createjs.LoadQueue.IMAGE}

然后你就可以转换它

var bg = new createjs.Bitmap(loader.getResult('bg'));  
stage.addChild(bg);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法使用 CreateJS 预加载和显示 SVG 的相关文章

随机推荐

  • 如何使用对受 Arc> 保护的基础数据的引用? [复制]

    这个问题在这里已经有答案了 通过内部可变性模式获得的任何引用 无论是Rc
  • CodeFluent 与 Interop.MSScriptControl.dll

    我们有一个 32 位服务 正在尝试迁移到 64 位 我们正在使用Interop MSScriptControl dll评估用户编写的VB脚本 由于没有 64 位版本MSScriptControl 我创建了一个在服务内部调用的进程 每次我们需
  • Python 中数字的最长运行/岛

    我有一个 0 重复多次的数组 但我想找到最长的 0 组 例如 myArray 1 0 2 0 3 0 4 0 5 1 6 0 7 0 8 0 9 0 10 0 11 0 12 0 13 1 14 2 15 0 16 0 17 0 18 0
  • d2i_RSA_PUBKEY、d2i_RSAPrivateKey 和 d2i_RSAPublicKey 返回 NULL

    我使用以下命令创建了 RSA 私钥 openssl genrsa out keypair pem 2048 我必须在该项目中使用 DER 编码的密钥 PKCS 1 因此我从这个 PEM 编码的私钥文件生成了两个 DER 文件 一个包含私钥
  • 找不到 adobe acrobat 10.0 类型库 (2020)

    我正在尝试使用 VBA 从 pdf 中读取一些文本 我读到我需要引用该库 Adobe Acrobat 10 0 Type Library 因此 我从以下位置下载了适用于 Windows 的 Acrobat DC SDK 下载页面 但是我查看
  • AutoFixture 约束字符串参数

    有没有一种简单的方法来指定参数 orderBy 的可能值列表 请不要一一列举 否则我也不会提问 我想指定 orderby 仅当从预定列表中选择时才有意义 假设列表非常大 仍然不是随机的 这不可能那么难 没有一个例子可以说明如此简单的任务 T
  • 单选按钮检查的更改事件未在 gridview 中触发

    我有一个网格视图 其中有一个单选按钮 我需要的是在选择单选按钮时我必须找到网格视图的数据键 还有一个问题是 我可以选择多个单选按钮 这是不应该发生的 您需要使用文字控件来注入单选按钮标记 这将处理分组 因此仅选择一个单选按钮 您无法使用标准
  • Chrome 自动化中的假地理位置

    我需要使用 python 脚本在 chrome 中自动进行地理定位 我必须伪造纬度和经度 我按照 stackoverflow 中的一些链接进行操作 但它们给出了错误 chromeDriver executeScript window nav
  • 循环运行5分钟

    我需要运行 5 分钟的 while 循环 我寻找了计时器 api 但找不到这样做 任何人都可以为此提供一个代码片段吗 Thanks 最简单的方法是检查每次迭代已经用了多少时间 例子 final long NANOSEC PER SEC 10
  • Javascript:“新日期(日期字符串)”与“新日期(年,月,日)”之间的区别

    参考这个问题的已接受答案如何在 JavaScript 中获取两个日期之间的天数 我明白了 在函数中parseDate function parseDate str var mdy str split return new Date mdy
  • 构造函数中的 C++ 引用

    我有一个类 其构造函数采用对字符串的 const 引用 该字符串充当对象的名称 因此在类实例的整个生命周期中都需要该字符串 现在想象一下如何使用这个类 class myclass public myclass const std strin
  • 尝试生成 9 位数字,每个数字都唯一

    我正在尝试获取 9 位数字 这些数字都有唯一的数字 我的第一种方法似乎有点太复杂 写起来很乏味 include
  • Facebook Open Graph 单页应用程序

    我使用主干js构建了一个单页面应用程序 我对各种应用程序状态和动态内容 例如书籍 有单独的骨干 url 路由 但本质上 Facebook 只会看到索引页面 以下问题似乎提供了一种有趣的方法来为动态内容提供物理开放图 URL 同一页面上有多个
  • 通过命令行调用laravel控制器

    在 kohana 框架中 我可以使用命令行通过命令行调用控制器 php5 index php uri controller method var1 var2 是否可以通过 cli 在 Laravel 5 中调用我想要的控制器 如果是 该怎么
  • 通过 BigCommerce API 访问 Google 购物字段

    我正在与第三方零件供应商创建自定义集成 以在 BigCommerce 的库存中创建产品 我需要能够为导入的产品打开 Google 购物并添加 MPN 和类别 但我不知道如何在 API 中修改它 如果有人有任何反馈 请告诉我 因此 在联系 B
  • 更新对象的嵌套数据数组(Redux)

    我在更新不可变的 redux 和相当嵌套的数据时遇到问题 这是我的数据结构和我想要更改的内容的示例 如果有人可以向我展示使用 ES6 和扩展运算符访问此更新的模式 我将不胜感激 const formCanvasInit id guid fi
  • 如何正确关闭客户端和服务器中的套接字(python)

    我正在用 python 编写 2 个脚本 客户端 py 服务器 py 客户端和服务器之间有一个套接字 场景是这样的 我有一个客户端要求关闭程序 因此它应该通知服务器 然后服务器将通知另一个客户端 因此我需要关闭从客户端 1 到服务器的套接字
  • Angular2 HTTP 使用 observables 订阅显示数据未定义

    我不知道我做错了什么 但不知怎的 我无法读取数据 尽管数据来自服务器响应 甚至当我放置控制台时数据也显示在服务 extractData 方法中 但是在订阅函数内的组件中 它给了我未定义的信息 帮我看看我做错了什么 我假设这是异步的问题 但是
  • 使用 WCF 服务返回 MembershipUser

    我有 WCF 服务从 ActiveDirectory 获取用户 我从请求 用户名 接收参数并使用 MembershipUser 属性创建响应 由于某种原因 联系变得紧密 服务操作找到用户并成功创建响应 执行行时 返回响应 我在客户端遇到异常
  • 无法使用 CreateJS 预加载和显示 SVG

    我正在尝试预加载一组 SVG 对象并使用 CreateJS PreloadJS 显示它们 到目前为止 我能够在不预加载的情况下显示 SVG 对象 但是一旦我使用 PreloadJS 中的 LoadQueue 我就无法让我的示例工作 有人知道