相位器和Django:将画布放置在div内

bprjcwpo  于 2023-01-18  发布在  Go
关注(0)|答案(1)|浏览(231)

我尝试将Phaser游戏嵌入到Django应用程序中,但最基本的操作都很难上手:确保画布放置在特定的div内,使其在页面中间居中。
从我所收集到的信息来看,要使它工作,我应该简单地指定父div。然而,每当我指定父div时,画布就找不到了。当我再次省略该行时,它又出现了,但在布局之外。

{% extends "app/layout.html" %}

{% block content %}

<h2>{{ title }}.</h2>
<h3>{{ message }}</h3>

<div id='phaser-canvas'></div>

{% endblock %}

<script>
var config = {
    type: Phaser.AUTO,
    width: 800,
    height: 600,
    parent: 'phaser-canvas',
    scene: {
        preload: preload,
        create: create,
        update: update
    }
};

var game = new Phaser.Game(config);

function preload() {
}

function create() {
}

function update() {
}
</script>

我不明白什么?

xdnvmnnf

xdnvmnnf1#

你的html文件扩展了你的app/layouts.htmllayouts.html有一个内容块,你的内容块的内容会被插入其中,但是因为你的所有其他代码都不在那个块中,所以它不会被插入到layouts.html中。
在你的layouts.html中创建更多的块,比如一个样式块,一个javascript块等等,然后把你的代码也放在这些块中,因为只有那些块里面的代码才会被转移到要扩展的模板中。
layout.html:

{% block styles %}
{% endblock %}
{% block content %}
{% endblock %}
{% block javascript %}
{% endblock %}

您的模板:

{% extends "app/layout.html" %}

{% block content %}

<h2>{{ title }}.</h2>
<h3>{{ message }}</h3>

<div id='phaser-canvas'></div>

{% endblock %}

{% block javascript %}
<script>
var config = {
    type: Phaser.AUTO,
    width: 800,
    height: 600,
    parent: 'phaser-canvas',
    scene: {
        preload: preload,
        create: create,
        update: update
    }
};

var game = new Phaser.Game(config);

function preload() {
}

function create() {
}

function update() {
}
</script>
{% endblock %}

相关问题