你好stackoverflow人, 我正在搞乱HTML5和Javascript,我正在尝试在javascript中为一个对象添加一个函数,就像在C#中将一个函数添加到一个类中一样。 这是我的javascript(我知道这不起作用)
function Hero()
{
this.xPos = 100;
this.yPos = 100;
this.image = new Image();
this.image.src = "Images/Hero.png";
}
function MoveHero( xSpeed, ySpeed )
{
xPos += xSpeed;
yPos += ySpeed;
}
现在在我的主循环函数中如此
function main()
{
canvas.fillStyle = "#555555";
canvas.fillRect( 0, 0, 500, 500);
canvas.drawImage( hero.image, hero.xPos, hero.yPos );
hero.MoveHero(1,1);
}
现在这个当然告诉我
"Uncaught TypeError: Object #<Hero> has no method 'MoveHero'"
我如何链接该功能,以便我可以使用
hero.MoveHero(x,y);
如果有人能帮助我,那就太棒了。
P.S。我正在全球宣布我的英雄变量
var hero = new Hero();
那可以吗?
答案 0 :(得分:10)
你可以;
Hero.prototype.MoveHero = function( xSpeed, ySpeed )
{
this.xPos += xSpeed;
this.yPos += ySpeed;
}
答案 1 :(得分:1)
function Hero()
{
// add other properties
this.MoveHero = function( xSpeed, ySpeed )
{
this.xPos += xSpeed;
this.yPos += ySpeed;
}
}