Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试在javascript画布上设置动画_Javascript_Animation_Canvas_Vector_Setinterval - Fatal编程技术网

尝试在javascript画布上设置动画

尝试在javascript画布上设置动画,javascript,animation,canvas,vector,setinterval,Javascript,Animation,Canvas,Vector,Setinterval,正如标题所说,我试图在java画布上制作动画,但我不确定如何添加到对象当前位置的vector类中 我被告知要用这个: Bus.prototype.update = function() { this.getPosition().add(new Vector(10.0)); } 但它无法识别.add函数,并且在使用setInterval函数时出现错误 我还将包括get/set函数,以防万一 Bus.prototype.getPosition = function() {

正如标题所说,我试图在java画布上制作动画,但我不确定如何添加到对象当前位置的vector类中 我被告知要用这个:

Bus.prototype.update = function()
{
    this.getPosition().add(new Vector(10.0));
}
但它无法识别.add函数,并且在使用setInterval函数时出现错误

我还将包括get/set函数,以防万一

Bus.prototype.getPosition = function()  {       
    return this.mPosition;
};
Bus.prototype.setPosition = function (pPosition)    {
    this.mPosition = pPosition;
};
我对编码相当陌生,因此如果这篇文章非常模糊或写得很糟糕,我深表歉意

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);
熊是一个定制的“类”。bear只有一个X位置和一个Y位置,构造函数可以取两个值来设置X和Y值。然后我向
Bear
添加了一个新方法,称为
updatePosition
。所有updatePosition都会接受两个值,并将它们添加到原始的X位置和Y位置(也可以提供负数以反向移动)。现在,使用我们的Bear,我们可以创建一个,然后使用其
updatePosition
功能移动它。

第1课: