使用内部方法设置对象的内部属性-JavaScript

时间:2020-06-02 07:49:35

标签: javascript object

我开始这个项目只是为了好玩(受Conway的《人生游戏》启发)。在我的项目中,我为单元(定义为对象)有一个文件,为游戏(宇宙)有一个文件,在该文件中设置了规则,以便可以玩该单元。单元格对象的定义如下:

const cell = {
    x_birth: 0,
    y_birth: 0,
    alive: false,
    live: function() {
        fill(100);
        square((WIDTH/F)*x, (HIGH/F)*y, (WIDTH/F), (HIGH/F));
    },
    die: function() {
        fill(255);
        square((WIDTH/F)*x, (HIGH/F)*y, (WIDTH/F), (HIGH/F));
    },
    move: function(x_var, y_var) {

        if (this.alive == false){

            x = this.x_birth;
            y = this.y_birth;

            this.alive = true; // Bug?

            this.live();

        } else { //... }}}

WIDTH,HIGH和F是另一个主文件中的全局常量。 我遇到的问题是,当我在主文件中使用“ Object.create(cell)”创建两个对象时,仅其中一个单元移动。看起来当一个单元执行其功能'move()'时,它可以正确执行,而另一个单元(对象)不执行时,将其属性'alive'设置为'true'。我虽然这可能是问题所在,但随后我进行了搜索,但没有找到为什么这应该是问题所在。

如果需要,可以从我的仓库https://github.com/Atotem/Game.git下载文件。在那里,您会明白我的意思。我愿意接受所有建议。

PD:我正在使用p5.js库。

0 个答案:

没有答案