Javascript 无法将createCanvas用作全局变量? 我试图运行这段代码,但由于未正确声明变量而出错 我已经格式化了这段代码,这段代码以前是使用类编写的,但在分配全局变量时出现了错误 当我添加fill in render()函数时,它将到达两个圆,但我需要只将蓝色指定给中间的圆
Javascript 无法将createCanvas用作全局变量? 我试图运行这段代码,但由于未正确声明变量而出错 我已经格式化了这段代码,这段代码以前是使用类编写的,但在分配全局变量时出现了错误 当我添加fill in render()函数时,它将到达两个圆,但我需要只将蓝色指定给中间的圆,javascript,p5.js,Javascript,P5.js,let半径=20; 设θ=0; 让历史=[]; 设vel=0.0; 让粒子; 函数render(){ 设line=createVector(0,0); 设速度=createVector(); 翻译(60,60); 圆(中心x,中心y,半径); 圆(直线x+中心x,直线y+中心y,10); beginShape(); for(设i=0;i
let半径=20;
设θ=0;
让历史=[];
设vel=0.0;
让粒子;
函数render(){
设line=createVector(0,0);
设速度=createVector();
翻译(60,60);
圆(中心x,中心y,半径);
圆(直线x+中心x,直线y+中心y,10);
beginShape();
for(设i=0;i
这是因为您在函数中声明了
let can
和let center
,所以它只存储在本地
尝试定义let can,居中代码>在代码的开头,然后删除让s进入函数设置()
比如:
let radius = 20;
let theta = 0;
let history = [];
let vel = 0.0;
let particle;
let can, center; // defined here
...
function setup() {
// remove let
can = createCanvas(windowWidth-220, windowHeight-90);
center = createVector(0,0);
can.position(210, 75);
}
另外,如果这将是一个类,那么您应该使用this而不是使用globallet
s,这是因为您在函数中声明let can
和let center
,所以它只存储在本地
尝试定义let can,居中代码>在代码的开头,然后删除让s进入函数设置()
比如:
let radius = 20;
let theta = 0;
let history = [];
let vel = 0.0;
let particle;
let can, center; // defined here
...
function setup() {
// remove let
can = createCanvas(windowWidth-220, windowHeight-90);
center = createVector(0,0);
can.position(210, 75);
}
另外,如果这将是一个类,那么您应该使用this
而不是使用globallet
s,您会得到哪个错误?@devnull69我正在尝试修改此代码。代码是使用类编写的。但我正在尝试删除该类,因为我无法在该类中添加其他库函数。这并不能回答我的问题,您遇到了哪个错误?@devnull69我正在尝试修改此代码。代码是使用类编写的。但我正在尝试删除该类,因为我无法在该类中添加其他库函数。这并不能回答我的问题。如果我尝试定义let can,center,则会出现这两个错误;在代码ReferenceError:createCanvas未定义
,无法在初始化之前访问“can”
添加了一个示例,看看这是否有助于解决问题,但我遇到另一个错误无法读取未定义的属性“x”。我附上了代码的说明,请看一看。@harsha如果您使用let
在函数外部声明变量,当您使用函数为变量赋值时,您需要在函数内部不使用let
关键字。即docenter=createVector(0,0)代码>非让中心=createVector(0,0)代码>。对于初始声明,let关键字只能使用一次,除非您特别希望创建一个单独的变量,该变量仅存在于嵌套范围中并隐藏原始变量。另外,请注意,声明一个变量行
将无法使用同名的全局p5.js函数;在代码ReferenceError:createCanvas未定义
,无法在初始化之前访问“can”
添加了一个示例,看看这是否有助于解决问题,但我遇到另一个错误无法读取未定义的属性“x”。我附上了代码的说明,请看一看。@harsha如果您使用let
在函数外部声明变量,当您使用函数为变量赋值时,您需要在函数内部不使用let
关键字。即docenter=createVector(0,0)代码>非让中心=createVector(0,0)代码>。对于初始声明,let关键字只能使用一次,除非您特别希望创建一个单独的变量,该变量仅存在于嵌套范围中并隐藏原始变量。另外,请注意,声明一个变量行
将无法使用同名的全局p5.js函数。