Вы можете сделать что-то подобное и покончить с этим:
imageObj.x += 3;
imageObj.y += 3;
Вам нужно добавить var перед imageF:
var imageF = new Kinetic.image({
Взгляните на:
http://www.html5canvastutorials.com/kineticjs/html5-canvas-kineticjs-image-tutorial/
Ошибка, которую вы получили, потому что вы нигде не определили move (). Вы можете сделать функцию перемещения и позволить объекту использовать ее. Или вы можете создать такую функцию:
function moveMyThing(myObj, xchange, ychange)
{
myObj.x += xchange;
myObj.y += ychange;
}
Затем назовите его с помощью:
moveMyThing(imageObj, 3, 3);
KineticJS имеет тенденцию обновлять около 60FPS, если все в порядке, так что эта 3 на самом деле довольно быстрая. Вы также захотите проверить, пришло ли время обновить логику движения. Лучше всего их расцепить.
Ex:
stage.onFrame(function(frame){
console.log("fired")
time++;
if(readyToThink(time, 6)) //check if you want to do something
moveMyThing(imageObj,3,3); //Then move it...
fluffyImgLayer.draw();
});
function readyToThink(time, limit){
if(time > limit) //some amount of time to get here
{
time = 0; //reset counter
return true;
}
return false;
}
Чтобы учесть скачок, вы можете изменить движение.