this.x = (Math.random()*canvasWidth);
this.y = (Math.random()*canvasHeight);
(1) this.shift = {x: this.x, y: this.y};
(2) this.shift.x = this.x;
this.shift.y = this.y;
嗨,大家好,我正在玩帆布,正在创建一个粒子系统。
第一个(1)将起作用但不是第二个(2)之一为什么? 我在使用Chrome开发工具进行调试时收到错误消息“无法设置未定义的属性'x'。
有什么想法吗?
答案 0 :(得分:3)
因为在示例#2中没有“this”对象的“shift”属性,所以运行时无法解析其任何“x”(或“y”)属性。您可以通过首先分配“shift”对象来使其工作:
this.shift = {};
this.shift.x = this.x;
this.shift.y = this.y;
答案 1 :(得分:2)
this.shift
不存在。
您需要先编写this.shift = { }
。