我正在尝试使用pixi.jsSvelte 安装画布,如下所示。app.view是一个HTML Canvas元素,但我不知道如何用 Svelte 显示它。
<script>
import * as PIXI from 'pixi.js'
import { onMount } from 'svelte';
let app = new PIXI.Application({
width: 256, // default: 800
height: 256, // default: 600
antialias: true, // default: false
transparent: false, // default: false
resolution: 1 // default: 1
})
</script>
<style></style>
<app.view />
Run Code Online (Sandbox Code Playgroud)
我暂时只是使用它,但如果能够将其添加到模板中那就太好了。
onMount(() => {
document.body.appendChild(app.view);
})
Run Code Online (Sandbox Code Playgroud)
小智 5
从文档bind:this
要获取对 DOM 节点的引用,请使用
bind:this.
<div bind:this={container}/>
Run Code Online (Sandbox Code Playgroud)
let container;
onMount(() => {
container.appendChild(app.view);
});
Run Code Online (Sandbox Code Playgroud)
这是一个实例:https://svelte.dev/repl/118b7d4540c64f8491d10a24e68948d7 ?version=3.12.1
如果您想避免使用包装器元素或自己实例化画布,您可以创建 Pixi 应用程序并向onMount其传递一个画布元素:
<canvas bind:this={view}/>
Run Code Online (Sandbox Code Playgroud)
let view;
let app;
onMount(() => {
app = new PIXI.Application({
view,
// ...other props
});
});
Run Code Online (Sandbox Code Playgroud)
另请参阅使用画布的官方bind:this示例。
| 归档时间: |
|
| 查看次数: |
2976 次 |
| 最近记录: |