gpt4 book ai didi

javascript - 无法在 JavaScript 中创建新实例

转载 作者:行者123 更新时间:2023-11-28 20:13:26 24 4
gpt4 key购买 nike

以下是我的代码,

function hostile(x, y) {
this.speed = 1;
this.health = 100;
this.x = x;
this.y = y;
this.height = 32;
this.width = 32;
this.isDead = false;
this.direction = 0;

this.move = function(){
context.clearRect(0,0,canvas1.width,canvas1.height);
if (this.x > canvas.width - 64) {

this.y += 10;
this.direction = 0;
}
if (this.x < 0) {
this.y += 10;
}

if (this.direction === 1) {
this.x += this.speed;
} else {
this.x -= this.speed;
}
if (this.x < 0) {
this.direction = 1;
}

if (this.y > 420) {
//this might have to be changed
this.x = 600;
}
}
};
//CREATING AN INSTANCE OF HOSTILE, THIS ISN'T WORKING FOR MULTIPLE INSTANCES, BUT WHY?

var hostile = new hostile(20,20);
var hostileA = new hostile(20,20);

我创建了 hostile 并且在更新方法 hostile.move() 中调用了这个实例,但是 var hostile 可以工作,var hostile 没有,我检查了代码 hostile 是文件中的唯一引用。

最佳答案

var hostile = new hostile(20,20);

您刚刚覆盖了 hostile 变量以引用该实例而不是构造函数。

这是构造函数按照约定采用大驼峰命名的原因之一

关于javascript - 无法在 JavaScript 中创建新实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19542854/

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