Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript PixiJS:加载自定义字体_Javascript_Css_Fonts_Pixi.js - Fatal编程技术网

Javascript PixiJS:加载自定义字体

Javascript PixiJS:加载自定义字体,javascript,css,fonts,pixi.js,Javascript,Css,Fonts,Pixi.js,我目前正在学习小精灵。 我看了这个家伙的教程: 顺便说一句,不错 环境: Xampp、Firefox、Pixijs、HTML、CSS 现在我尝试加载自定义字体。 第一次加载Pixijs项目应该运行的页面时,字体没有显示,控制台显示一些错误消息。。。 当我第二次加载页面而不删除缓存时,文本将以给定字体显示 为什么 以下是加载字体的代码段: index.html: 以下是控制台的错误日志: 控制台: 正如我所说,此消息仅在我第一次加载页面时出现。 第二次一切都很好 我能做些什么来防止这种情况 为什么

我目前正在学习小精灵。 我看了这个家伙的教程: 顺便说一句,不错

环境: Xampp、Firefox、Pixijs、HTML、CSS

现在我尝试加载自定义字体。 第一次加载Pixijs项目应该运行的页面时,字体没有显示,控制台显示一些错误消息。。。 当我第二次加载页面而不删除缓存时,文本将以给定字体显示

为什么

以下是加载字体的代码段:

index.html:

以下是控制台的错误日志:

控制台:

正如我所说,此消息仅在我第一次加载页面时出现。 第二次一切都很好

我能做些什么来防止这种情况

为什么会发生这种情况

这是什么意思?

使用webfontloader--在使用PixiJS进行任何绘图之前同步加载字体。这也适用于其他基于画布的应用程序

将以下内容放在HTML页面的部分中:

使用webfontloader--在使用PixiJS进行任何绘图之前同步加载字体。这也适用于其他基于画布的应用程序

将以下内容放在HTML页面的部分中:

尝试使用PIXI.loader

const loader = new PIXI.loaders.Loader();
loader.add('fffforward', 'assets/fonts/fffforward.TTF');

loader.load((loader, resources) => {
    PointsTopText = new Text(
        "P1: " + PointsTop,
        {fontFamily: 'FFFForward', fontSize: 32, fill: 'white'}
    );
    World.addChild(PointsTopText);
});
尝试使用PIXI.loader

const loader = new PIXI.loaders.Loader();
loader.add('fffforward', 'assets/fonts/fffforward.TTF');

loader.load((loader, resources) => {
    PointsTopText = new Text(
        "P1: " + PointsTop,
        {fontFamily: 'FFFForward', fontSize: 32, fill: 'white'}
    );
    World.addChild(PointsTopText);
});

尝试了这个解决方案,因为它看起来更干净,但似乎不起作用。我还尝试使用css中常用的角度方法导入字体,但我猜pixijs无法访问Windows中加载的默认字体?PIXI.Loader当前无法使用字体。使用tonethar建议的第三方字体加载解决方案。尝试了此解决方案,因为它看起来更干净,但似乎不起作用。我还尝试使用css中常用的角度方法导入字体,但我猜pixijs无法访问Windows中加载的默认字体?PIXI.Loader当前无法使用字体。使用tonethar建议的第三方字体加载解决方案。感谢您的回复,我已经有一段时间没来了。我没有测试你的解决方案,但对我来说很有意义。稍后我会测试一下,给你我的结论。谢谢你的回复,我已经有一段时间没来了。我没有测试你的解决方案,但对我来说很有意义。我稍后会测试它并给你我的结论。
downloadable font: bad search range (font-family: "FFFForward" style:normal weight:normal stretch:normal src index:0) source: [path]/assets/fonts/fffforward.TTF  PixiJs:6:14
downloadable font: bad range shift (font-family: "FFFForward" style:normal weight:normal stretch:normal src index:0) source: [path]/assets/fonts/fffforward.TTF  PixiJs:6:14
downloadable font: cmap: bad id_range_offset (font-family: "FFFForward" style:normal weight:normal stretch:normal src index:0) source: [path]/assets/fonts/fffforward.TTF  PixiJs:6:14
downloadable font: hdmx: the table should not be present when bit 2 and 4 of the head->flags are not set (font-family: "FFFForward" style:normal weight:normal stretch:normal src index:0) source: [path]/assets/fonts/fffforward.TTF  PixiJs:6:14
downloadable font: hdmx: Table discarded (font-family: "FFFForward" style:normal weight:normal stretch:normal src index:0) source: [path]/assets/fonts/fffforward.TTF  PixiJs:6:14
<script src="https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js"></script>
<script>
    WebFont.load({
        google: {
            families: ['Press Start 2P']
        },
        active:e=>{
            console.log("font loaded!");
            // now start setting up your PixiJS (or canvas) stuff!
        }
    });
</script>
const loader = new PIXI.loaders.Loader();
loader.add('fffforward', 'assets/fonts/fffforward.TTF');

loader.load((loader, resources) => {
    PointsTopText = new Text(
        "P1: " + PointsTop,
        {fontFamily: 'FFFForward', fontSize: 32, fill: 'white'}
    );
    World.addChild(PointsTopText);
});