p5js不能使用高度或宽度变量
问题描述:
我是p5.js的新手,我试图制作一款迷你游戏来启动自己。我遇到了多个我能解决的问题,但我无法解决这个问题。p5js不能使用高度或宽度变量
在p5.js,当你创建一个画布,你得到一个width
和height
变量,它使用创建画布的尺寸和似乎等地打工,像draw()
功能,但不是一个小物件,我做。我的代码如下,我感谢你,如果你回答。
var Walls = new walls()
function setup(){
canvas = createCanvas(400,300);
canvas.parent("lor");
}
function draw(){
background(22,178,255)
console.log(Walls.wall1.height);
}
//Walls
function walls(){
this.wall1 = {}
this.wall1.width = 30
this.wall1.height = height/2
}
我等待您的回复,因为我花了一个多小时试图弄清楚这一点。谢谢!
答
问题出在您的代码的顺序。脚本运行的第一件事是在创建画布之前调用的var Walls = new walls();
。所以你正在做的是在创建画布之前调用height
。这可以简单地通过声明全局变量来解决,但在设置中给它一个值。
//Declaring the empty variable
var walls;
function setup() {
//creating the canvas
canvas = createCanvas(400, 300);
//calling Walls()
walls = new Walls();
}
function draw() {
background(22, 178, 255);
console.log("Height: " + walls.wall1.height);
}
function Walls() {
this.wall1 = {};
this.wall1.width = 30;
this.wall1.height = height/2;
}
身高:150
+0
这是一个巨大的帮助,感谢一百万!如果没有这个,可能从来没有做过 –
你是如何调用'墙壁()'函数?请发布[mcve]或CodePen或JSFiddle。 –
@Kevin Workman我在墙上调用它()和Walls,Codepen在这里:[link](https://codepen.io/cord-codes/pen/bozZBj),它似乎给了我不能在控制台中的东西理解(在网站上的链接去。) –