【发布时间】:2015-04-25 22:57:18
【问题描述】:
我在 JavaScript 中创建了一个对象,其中包含 context.drawImage() 所需的所有数据。那么是否可以调用这些值并在对象函数中运行 context.drawImage() ?
world = new Sprite(0, 0, 100, 100, 0.4, 0, 0, 0);
world.draw();
function Sprite(spriteX, spriteY, spriteW, spriteH, scale, positionX, positionY, direction)
{
this.imagePath = world_sprite;
this.spriteX = spriteX;
this.spriteY = spriteY;
this.spriteW = spriteW;
this.spriteH = spriteH;
this.scale = scale;
this.positionX = positionX;
this.positionY = positionY;
this.direction = direction;
this.speed = 5;
this.noGravity = false;
this.direction = 0;
//Physics stuff
this.velX = 0;
this.velY = 0;
this.friction = 0.98;
};
Sprite.prototype.draw = function()
{
context.drawImage(this.imagePath, this.spriteX, this.spriteY, this.spriteW, this.spriteH, this.positionX, this.positionY, this.spriteW * this.scale, this.spriteH * this.scale);
};
【问题讨论】:
-
当然可以。只要定义了您使用的所有属性。在您的简短示例中,我看不到
context来自哪里。 -
对于
drawImage(),它看起来像是一个加载的图像对象,而不是路径。 -
this.imagePath 指的是world_sprite,它是一个图像对象。我看看它是否不喜欢this.imagePath
-
不,这不是问题...
-
好的,
imagePath是图像对象的错误名称。您没有评论context变量的来源。
标签: javascript oop object canvas prototype