Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.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 无法将createCanvas用作全局变量? 我试图运行这段代码,但由于未正确声明变量而出错 我已经格式化了这段代码,这段代码以前是使用类编写的,但在分配全局变量时出现了错误 当我添加fill in render()函数时,它将到达两个圆,但我需要只将蓝色指定给中间的圆_Javascript_P5.js - Fatal编程技术网

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

而不是使用global
let
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

而不是使用global
let
s,您会得到哪个错误?@devnull69我正在尝试修改此代码。代码是使用类编写的。但我正在尝试删除该类,因为我无法在该类中添加其他库函数。这并不能回答我的问题,您遇到了哪个错误?@devnull69我正在尝试修改此代码。代码是使用类编写的。但我正在尝试删除该类,因为我无法在该类中添加其他库函数。这并不能回答我的问题。如果我尝试定义let can,center,则会出现这两个错误;在代码
ReferenceError:createCanvas未定义
无法在初始化之前访问“can”
添加了一个示例,看看这是否有助于解决问题,但我遇到另一个错误
无法读取未定义的属性“x”。我附上了代码的说明,请看一看。@harsha如果您使用
let
在函数外部声明变量,当您使用函数为变量赋值时,您需要在函数内部不使用
let
关键字。即do
center=createVector(0,0)
让中心=createVector(0,0)。对于初始声明,let关键字只能使用一次,除非您特别希望创建一个单独的变量,该变量仅存在于嵌套范围中并隐藏原始变量。另外,请注意,声明一个变量
将无法使用同名的全局p5.js函数;在代码
ReferenceError:createCanvas未定义
无法在初始化之前访问“can”
添加了一个示例,看看这是否有助于解决问题,但我遇到另一个错误
无法读取未定义的属性“x”。我附上了代码的说明,请看一看。@harsha如果您使用
let
在函数外部声明变量,当您使用函数为变量赋值时,您需要在函数内部不使用
let
关键字。即do
center=createVector(0,0)
让中心=createVector(0,0)。对于初始声明,let关键字只能使用一次,除非您特别希望创建一个单独的变量,该变量仅存在于嵌套范围中并隐藏原始变量。另外,请注意,声明一个变量
将无法使用同名的全局p5.js函数。