0
我正在嘗試使用this「moveTo(x,y)」(通過markE)函數獲取多個對象。 This是我試過的。 而這正是我試圖做的:在畫布中將多個對象移動到x,y座標
計算和woriking例子是這樣的移動物體:
pct += .01;
// if we're not done, request another animation frame
if (pct < 1.00) {
requestAnimFrame(animate);
}
// Calculate the next XY position
var nextX = startingX + dx * pct;
var nextY = startingY + dy * pct;
// Draw the shape
ctx.clearRect(0, 0, canvas.width, canvas.height);
ctx.fillRect(nextX, nextY, 40, 30);
而這一點,我嘗試了多種形狀做:
var shapesLength = shapes.length;
for (var i = 0; i < shapesLength; i++) {// Loop through every object
var tmpShape = shapes[i];//selecting shape
tmpShape.pct += .01;// increment pct towards 100%
// if we're not done, request another animation frame
if (tmpShape.pct < 1.00) {
requestAnimFrame(animate);
}
// Calculate the next XY position
var nextX = tmpShape.startingX + tmpShape.dx * tmpShape.pct;
var nextY = tmpShape.startingY + tmpShape.dy * tmpShape.pct;
// Draw the shape
ctx.clearRect(0, 0, canvas.width, canvas.height);
ctx.fillRect(nextX, nextY, 10, 10);
};
但是出了點問題,我不知道是什麼。
下面是如何實現每個形狀的多個路點的例子:http://jsfiddle.net/m1erickson/UNjdC/ – markE
如何創建對象的即時生成並在到達目標點後對其進行清理? – eko24
shapes []數組包含將繪製和動畫的所有形狀的定義。在這種情況下,形狀都是具有開始/結束動畫點和顏色的矩形。如果您想要立即生成對象,只需將新對象添加到shapes []數組。如果您希望對象在到達目標點後消失,請刪除以下行:drawShape(shape,shape.waypoints.length - 1); – markE