Я относительно новичок в javascript и имею пару проблем, на которые я надеюсь, что вы сможете помочь. Я использую библиотеку с холстом для создания анимации.Функции вызова из другого - javascript
У меня есть функция, которая вызывается при нажатии кнопки соответствующая:
//for starting the animation
startSim.onclick = function(){
//obtain speed value from the control panel.
var speed = 10000/(new Number(speedControl.value));
//stuff
//animation process
object.animate('top', '+='+canvas.height,{
duration: speed,
abort: function(){
var returnedBool;
//Pause is pressed, simulation pauses
if(pause){
//stuff
}
//restart required
if(restart){
//stuff
}
//option here to save data?
return returnedBool;
},//end abort callback
onChange: canvas.renderAll.bind(canvas),
onComplete: function(){
//stuff
}
});//end animate callback
};
То, что я хотел бы сделать, это вызвать некоторые другие функции, в то время как выше анимация активна.
Я знаю, как это сделать с помощью Java или C++, но я не могу назвать функцию.
У меня есть панель дисплея, которая должна выводить различную информацию - по мере того, как анимация завершает переменные, они меняются, и я хочу, чтобы они отображались на экране и обновлялись по мере их изменения.
Я тестирую с простой функцией:
function updateInfoPanel(testSpeed){
var test = document.getElementById('currentSpeed');
test.innerHTML = test.innerHTML + testSpeed;
}
Я думаю, что нужно назвать это в основном цикле живой, если я буду называть его, прежде чем это хорошо, но, очевидно, только отображает переменную один раз. Может ли кто-нибудь сказать мне, где я ошибся, пожалуйста?
У меня также есть базовая функция обнаружения столкновений, которая работает, но не внутри цикла анимации, и я думаю, что эти проблемы связаны.
Большое спасибо за помощь.
Я удалил ненужные части кода, чтобы сэкономить место.
Так что я просто пытался использовать функцию как результат OnChange:
onChange: function(){
canvas.renderAll.bind(canvas);
updateInfoPanel(speed);
},
Это не представляет синтаксические ошибки, но анимация не медлит пробеги хотя переменная скорость делает обновление в информационной панели очень быстро. :(
Возможно, я ошибаюсь, но могли бы вы просто поместить свои функции обновления в это событие 'onChange'? – Robb
Привет @Robb, я пробовал это, но мне это не похоже. Ожидает двоеточие, но я не могу дать ему один – null
@Robb - Привет, обновленный вопрос, когда мне кажется, что я приближаюсь. – null