Chrome 使用 Pixi.js 加载精灵
Chrome loading sprites with Pixi.js
Chrome 版本 55.0.2883.95 似乎无法使用 Pixi.js 加载精灵。但是,Firefox 版本 50.1.0 似乎可以正常使用以下脚本。
代码:
<!doctype html>
<meta charset="utf-8">
<body>
<script src="pixi.js"></script>
<script>
var stage = new PIXI.Container();
var renderer = PIXI.autoDetectRenderer(256, 256);
document.body.appendChild(renderer.view);
PIXI.loader.add("cat.png").load(setup);
function setup() {
var cat = new PIXI.Sprite(PIXI.loader.resources["cat.png"].texture);
stage.addChild(cat);
renderer.render(stage);
}
</script>
</body>
文件夹:
Pixi.js
cat.png
index.html
Chrome错误:
Uncaught DOMException: Failed to execute 'texImage2D' on 'WebGLRenderingContext': The cross-origin image at file:///Users/konradwright/Desktop/SO12017/cat.png may not be loaded.
at Texture.upload (file:///Users/konradwright/Desktop/SO12017/pixi.js:1911:9)
at TextureManager.updateTexture (file:///Users/konradwright/Desktop/SO12017/pixi.js:16440:27)
at WebGLRenderer.bindTexture (file:///Users/konradwright/Desktop/SO12017/pixi.js:17108:33)
at SpriteRenderer.flush (file:///Users/konradwright/Desktop/SO12017/pixi.js:21351:35)
at WebGLRenderer.render (file:///Users/konradwright/Desktop/SO12017/pixi.js:16896:30)
at setup (file:///Users/konradwright/Desktop/SO12017/index.html:18:12)
at MiniSignal.dispatch (file:///Users/konradwright/Desktop/SO12017/pixi.js:7068:18)
at Loader._onComplete (file:///Users/konradwright/Desktop/SO12017/pixi.js:5414:25)
at file:///Users/konradwright/Desktop/SO12017/pixi.js:5451:24
at next (file:///Users/konradwright/Desktop/SO12017/pixi.js:6610:17)
一般来说,出于安全原因,您。
相反,您需要 运行 本地服务器来提供您的文件。
我个人使用Node.js and the http-server模块。它非常易于使用。只需安装 Node.js 然后打开命令提示符。 运行
npm install -g http-server
安装http-server模块。如果您有权限问题,请尝试
sudo npm install -g http-server
之后,转到要提供网站的文件夹 (cd path/to/project/folder
)。 运行
http-server
它将开始 运行 在 http://127.0.0.1:8080
a.k.a http://localhost:8080
连接服务器。将其输入您的浏览器,您就可以开始了。
还有许多其他服务器解决方案,但这个解决方案几乎不需要任何工作。
可能有效的简单解决方案是 "Web Server for Chrome" 应用程序。您启动它,选择希望使用的文件夹并转到 URL(如 127.0.0.1:您选择的端口)
这是一个简单的服务器,不能使用 PHP 但对于简单的工作,可能是您的解决方案:
https://chrome.google.com/webstore/detail/web-server-for-chrome/ofhbbkphhbklhfoeikjpcbhemlocgigb
Chrome 版本 55.0.2883.95 似乎无法使用 Pixi.js 加载精灵。但是,Firefox 版本 50.1.0 似乎可以正常使用以下脚本。
代码:
<!doctype html>
<meta charset="utf-8">
<body>
<script src="pixi.js"></script>
<script>
var stage = new PIXI.Container();
var renderer = PIXI.autoDetectRenderer(256, 256);
document.body.appendChild(renderer.view);
PIXI.loader.add("cat.png").load(setup);
function setup() {
var cat = new PIXI.Sprite(PIXI.loader.resources["cat.png"].texture);
stage.addChild(cat);
renderer.render(stage);
}
</script>
</body>
文件夹:
Pixi.js
cat.png
index.html
Chrome错误:
Uncaught DOMException: Failed to execute 'texImage2D' on 'WebGLRenderingContext': The cross-origin image at file:///Users/konradwright/Desktop/SO12017/cat.png may not be loaded.
at Texture.upload (file:///Users/konradwright/Desktop/SO12017/pixi.js:1911:9)
at TextureManager.updateTexture (file:///Users/konradwright/Desktop/SO12017/pixi.js:16440:27)
at WebGLRenderer.bindTexture (file:///Users/konradwright/Desktop/SO12017/pixi.js:17108:33)
at SpriteRenderer.flush (file:///Users/konradwright/Desktop/SO12017/pixi.js:21351:35)
at WebGLRenderer.render (file:///Users/konradwright/Desktop/SO12017/pixi.js:16896:30)
at setup (file:///Users/konradwright/Desktop/SO12017/index.html:18:12)
at MiniSignal.dispatch (file:///Users/konradwright/Desktop/SO12017/pixi.js:7068:18)
at Loader._onComplete (file:///Users/konradwright/Desktop/SO12017/pixi.js:5414:25)
at file:///Users/konradwright/Desktop/SO12017/pixi.js:5451:24
at next (file:///Users/konradwright/Desktop/SO12017/pixi.js:6610:17)
一般来说,出于安全原因,您
相反,您需要 运行 本地服务器来提供您的文件。
我个人使用Node.js and the http-server模块。它非常易于使用。只需安装 Node.js 然后打开命令提示符。 运行
npm install -g http-server
安装http-server模块。如果您有权限问题,请尝试
sudo npm install -g http-server
之后,转到要提供网站的文件夹 (cd path/to/project/folder
)。 运行
http-server
它将开始 运行 在 http://127.0.0.1:8080
a.k.a http://localhost:8080
连接服务器。将其输入您的浏览器,您就可以开始了。
还有许多其他服务器解决方案,但这个解决方案几乎不需要任何工作。
可能有效的简单解决方案是 "Web Server for Chrome" 应用程序。您启动它,选择希望使用的文件夹并转到 URL(如 127.0.0.1:您选择的端口)
这是一个简单的服务器,不能使用 PHP 但对于简单的工作,可能是您的解决方案:
https://chrome.google.com/webstore/detail/web-server-for-chrome/ofhbbkphhbklhfoeikjpcbhemlocgigb