2015-11-02 95 views
0

作为标题说我试图在java画布上动画,但我不知道如何添加到我的对象的向量类当前位置 我被告知使用此:试图在javascript画布上动画

Bus.prototype.update = function() 
{ 
    this.getPosition().add(new Vector(10.0)); 
} 

,但它不承认。新增功能,并与当我使用我的setInterval函数

我会包括错误出现我的get/set函数藏汉只是柜面

Bus.prototype.getPosition = function() {  
    return this.mPosition; 
}; 
Bus.prototype.setPosition = function (pPosition) { 
    this.mPosition = pPosition; 
}; 

我在编码,所以我道歉,如果这是很模糊的还是写的不好

+1

第1课:http://stackoverflow.com/questions/245062/whats-the-difference-between-javascript-and-java – Shomz

回答

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位置(您也可以提供负数以相反的方式移动)。现在用我们的熊,我们可以创建一个,然后使用它的功能并移动它。