gpt4 book ai didi

javascript - 如何在javascript中从对象中的对象调用方法?

转载 作者:行者123 更新时间:2023-11-28 06:43:08 24 4
gpt4 key购买 nike

我是 oop javascript 的新手,我想知道是否有人可以帮助我如何正确地从对象中的对象调用方法。制作圆形花园似乎很有效,我什至可以从那个花园中调用一个圆圈。但每当我想调用 x 时,它就会停止工作......

这是代码:

var cg = new circlegarden(4);
var testx = cg.getCircle(0).getx();

function circle(x, y, vx, vy, dv, color) {
this.x=x;
this.y=y;
this.vx=vx;
this.vy=vy;
this.dv=dv;
this.color=color;
this.vertices = [0.0, 0.0, 0.0];
for(var i = 0; i <= 40; i++) {
this.vertices.push(Math.cos((2 * Math.PI)/40));
this.vertices.push(Math.sin((2 * Math.PI)/40));
this.vertices.push(0);
}
this.getx = function() {
return this.x;
}
//other methods...
}

function circlegarden(n) {
this.n=n;
this.circles=new Array();
for(var i = 0; i < this.n; i++) {
this.circles.push(2*Math.cos((2 * Math.PI)/this.n), 2*Math.sin((2 * Math.PI)/this.n), 2*(Math.random()-.5), 2*(Math.random()-.5), 0.02, i);
}
this.wall=[[-2.9, -2.5, 2.9, -2.5], [-2.9, 2.5, 2.9, 2.5], [-2.9, -2.5, -2.9, 3], [2.9, -2.5, 2.9, 2.5]];

this.getCircle = function(i) {
return this.circles[i];
}
//other methods...
}

最佳答案

您没有在该 for 循环中创建圆圈。您应该使用new circle(2*Math.cos((2 * Math.PI)/this.n), 2*Math.sin((2 * Math.PI)/this.n), 2*(Math.random()-.5), 2*(Math.random()-.5), 0.02, i)创建那个

关于javascript - 如何在javascript中从对象中的对象调用方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33628294/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com