正如标题所说我试图在java画布上制作动画,但我不知道如何添加到我的对象的矢量类当前位置 我被告知要使用它:
Bus.prototype.update = function()
{
this.getPosition().add(new Vector(10.0));
}
但它无法识别.add函数,并在使用setInterval函数时出现错误
我将包括我的get / set函数以及incase
Bus.prototype.getPosition = function() {
return this.mPosition;
};
Bus.prototype.setPosition = function (pPosition) {
this.mPosition = pPosition;
};
我对编码非常陌生,所以如果这是非常模糊或写得不好我会道歉
答案 0 :(得分:0)
jsFiddle:https://jsfiddle.net/CanvasCode/41z9o10p/1/
的javascript
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
var Bear = function(xSet, ySet)
{
this.XPos = xSet;
this.YPos = ySet;
}
Bear.prototype.updatePosition = function(xValue, yValue)
{
this.XPos += xValue;
this.YPos += yValue;
}
var bear = new Bear(0,0);
setInterval( function()
{
ctx.fillStyle = "#000";
ctx.fillRect(0,0,c.width,c.height);
ctx.fillStyle = "#0F0";
ctx.fillRect(bear.XPos, bear.YPos, 50,50);
bear.updatePosition(0.2, 0.4);
} ,1);
熊是一个自定义的“类”。所有熊都有一个X位置和一个Y位置,构造函数可以接受两个值来设置X和Y值。然后,我向Bear
添加一个名为updatePosition
的新方法。所有updatePosition都会接受两个值并将它们添加到原始X位置和Y位置(您也可以提供负数以相反的方式移动)。现在有了我们的熊,我们可以创建一个,然后使用它的updatePosition
函数并移动它。