提问人:Rip 提问时间:2/28/2023 更新时间:2/28/2023 访问量:105
在JSFidle或其他任何地方测试Pixijs示例?
testing pixijs examples in jsfiddle or anywhere else?
问:
我才刚刚开始学习 Pixijs,我想测试一些示例。
当我复制这个例子时:https://pixijs.io/examples/#/filters-basic/displacement-map-flag.js
进入 JSFiddle:https://jsfiddle.net/ripmurdock/42h7fckx/4/
我在控制台中收到一个黑匣子和此错误: 加载 “https://fiddle.jshell.net/_display/?editor_console=true” 时发现无效的 X-Frame-Options 标头:“ALLOWALL”不是有效的指令。
我比较熟悉codepen。Codepen 支持说运行这个例子是 Pro 功能。
在 JSfiddle 或其他任何地方测试 Pixijs 示例的好方法是什么?
const app = new PIXI.Application();
document.body.appendChild(app.view);
app.stage.interactive = true;
const container = new PIXI.Container();
app.stage.addChild(container);
const flag = PIXI.Sprite.from('examples/assets/pixi-filters/flag.png');
container.addChild(flag);
flag.x = 100;
flag.y = 100;
const displacementSprite = PIXI.Sprite.from('examples/assets/pixi-filters/displacement_map_repeat.jpg');
// Make sure the sprite is wrapping.
displacementSprite.texture.baseTexture.wrapMode = PIXI.WRAP_MODES.REPEAT;
const displacementFilter = new PIXI.filters.DisplacementFilter(displacementSprite);
displacementFilter.padding = 10;
displacementSprite.position = flag.position;
app.stage.addChild(displacementSprite);
flag.filters = [displacementFilter];
displacementFilter.scale.x = 30;
displacementFilter.scale.y = 60;
app.ticker.add(() => {
// Offset the sprite position to make vFilterCoord update to larger value. Repeat wrapping makes sure there's still pixels on the coordinates.
displacementSprite.x++;
// Reset x to 0 when it's over width to keep values from going to very huge numbers.
if (displacementSprite.x > displacementSprite.width) { displacementSprite.x = 0; }
});
答:
为了在代码片段平台中使用pixi .js,您首先需要按照工具提供的方式加载库。
在 JSFiddle 中,当您展开侧边栏的“资源”部分时,您会找到一个输入字段。
在 Codepen 中,您可以从设置菜单加载任意外部脚本。您将在“设置”->“JS”-“>添加外部脚本/笔”下找到一个文本字段,可在其中导入任何外部 JavaScript 文件。
这些字段通常为各种 CDN 提供的热门库提供自动补全功能。键入后,它会自动导入为 .pixi.js
https://cdnjs.cloudflare.com/ajax/libs/pixi.js/7.1.3/pixi.min.js
此外,您还需要更新示例中导入的资产的 URL。将相对 URL(与示例托管在同一个目录中)更改为绝对 URL。而不是 ,您需要提供到外部资源的完整路由。这适用于示例可能加载的所有其他资产,包括置换贴图。examples/assets/pixi-filters/flag.png
https://pixijs.io/examples/examples/assets/pixi-filters/flag.png
这是一个有效的 Codepen,所有这些修复都已到位。这与在 JSFiddle 上运行的示例相同。
评论