Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.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 为什么我的程序不画矩形?_Javascript_P5.js - Fatal编程技术网

Javascript 为什么我的程序不画矩形?

Javascript 为什么我的程序不画矩形?,javascript,p5.js,Javascript,P5.js,我从youtube上的某个人那里复制了一组代码,我完全理解,其中有一些未使用的逻辑,但基本上目前它要做的就是抓住rocket.show函数并绘制一个矩形,我一生都无法理解为什么它不这样做。这是抛出没有错误和绘制背景,我可以画矩形,如果我只是把代码为“rect…”在绘图功能,因此有一个问题,我是指的功能,但我不能为我的生活计算出来,代码如下,任何帮助将不胜感激 function setup() { createCanvas(800, 600); background(0);

我从youtube上的某个人那里复制了一组代码,我完全理解,其中有一些未使用的逻辑,但基本上目前它要做的就是抓住rocket.show函数并绘制一个矩形,我一生都无法理解为什么它不这样做。这是抛出没有错误和绘制背景,我可以画矩形,如果我只是把代码为“rect…”在绘图功能,因此有一个问题,我是指的功能,但我不能为我的生活计算出来,代码如下,任何帮助将不胜感激

function setup() {
    createCanvas(800, 600);
    background(0);
    rocket = new rocket();
}

function draw() {
    rocket.update;
    rocket.show;
}

function rocket() {

    this.pos = createVector();
    this.vel = createVector();
    this.acc = createVector();

    this.applyforce = function (force) {
        this.acc.add(force);
    }

    this.update = function () {
        this.vel.add(this.acc);
        this.pos.add(this.vel);
        this.acc.mult(0);
    }

    this.show = function () {
        push();
        translate(this.pos.x, this.pos.y);
        rotate(this.vel.heading());
        rectMode(CENTER);
        rect(0, 0, 10, 50);
        pop();
    }
}

编辑:我已经解决了,很抱歉在
rocket之后占用了不必要的发布空间。更新它需要如下所示:

rocket.update()。我的错。

您没有正确调用函数

在javascript中,函数是变量,所以我可以说
a=Math.floor
,然后我可以调用
a(1.76)
,得到
1
作为响应。这意味着,无论何时调用函数,即使不使用任何参数,也必须包含参数。您可以使用一组空括号来执行此操作。如果不包括这些括号,那么实际上就是调用
console.log(无论函数是什么)


在您的情况下,这意味着您需要将
rocket.update
rocket.show
替换为
rocket.update()
rocket.show()

update和show是函数,因此需要调用:rocket.update();和rocket.show();以后,请编辑问题中的代码,而不是发布答案。没关系,我明白了。。。这就是问题所在;)