Что-то типо:
window.onload = init;
//...
//описание всяких переменных
//...
function init () {
stage = new Kinetic.Stage ({
container: "container",
height: HEIGHT,
width: WIDTH
});
snakeImg = new Image();
snakeImg.src = "Snake.png";
//инициализация начнется только после загрузки картинки.
snakeImg.onload = function () {
snakeObj = new Snake ();
snakeObj.move_derection ();
}
};
И прежний код с классом Змейки.
Вроде, что б улучшить, можно сделать так: в начале создавать функцию, которая будет инициализировать все картинки что есть, а уж после их загрузки, вызывать другую функцию с инициализацией всяких переменных, объектов и т.д.
Удобоваримо?