Я развиваю игру на основе казино, используя html5. Анимация работает нормально, но это не совсем гладко, то есть как только колесо останавливает вращение, я перемещаю шар как окончательное перепозиционирование, чтобы сгладить переход, но это не соответствует ожиданию. Завершить Code hereСглаживание анимации Казино Казино
Функция BallReposition - работает после того, как я остановил движение колеса для окончательного изменения положения мяча, чтобы придать анимации некоторую реальность.
function ballReposition(){
curX = findNearestOnCircle(curX);
if(curX > deadXRight){
sign = "-";
}else if(curX < deadXLeft){
sign = "+";
}
if(sign == "+"){
curX = parseInt(curX) + ballRepositionIncVal;
curY = Math.floor(Math.abs(getYOnCircle(curX, 130, 1)) + 0.5);
}else{
curX = parseInt(curX) - ballRepositionIncVal;
curY = Math.floor(Math.abs(getYOnCircle(curX, 130, 0)) + 0.5);
}
var xy = normalizeXY(curX, curY);
curX = parseInt(xy.split("-")[0]);
curY = parseInt(xy.split("-")[1]);
surface = document.getElementById("myCanvas");
var surfaceContext = surface.getContext("2d");
//removing older ball image.
surfaceContext.save();
// Translate to the center point of our image
surfaceContext.translate(happy.width * 0.5, happy.height * 0.5);
// Perform the rotation
surfaceContext.rotate(DegToRad(angle));
// Translate back to the top left of our image
surfaceContext.translate(-happy.width * 0.5, -happy.height * 0.5);
surface.getContext("2d").drawImage(happy, 0, 0);
surface.getContext("2d").drawImage(ball, curX, curY);
console.log(curX + curY);
surfaceContext.restore();
ballRepositionIncVal-=5;
if(ballRepositionIncVal <= 0){
clearInterval(myIntervalVar);
}
}
Другие детали функции -
- drawCanvas - загружает изображения и один раз загружаются изображения он начнет вызова функции цикла, которая будет вращать колесо и перемещать мяч в против часовой стрелки направление.
- normalizeXY - используется для установки мяча на отдельные дискретные позиции, то есть правильные позиции ниже числа колес.
EDIT - Конфигурация Fiddle обновленного here
[рабочая скрипка] (http://jsfiddle.net/vv42n/1/) - у вас была неправильная конфигурация. –
Спасибо Shadow за обновление конфигурации скрипта. Можете ли вы, пожалуйста, помочь мне сгладить анимацию – codeomnitrix
Просто заодно для анимации –