Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.07.2020, 01:37
Кандидат Javascript-наук
Отправить личное сообщение для Katy93 Посмотреть профиль Найти все сообщения от Katy93
 
Регистрация: 28.12.2018
Сообщений: 138

Как сделать чтобы каждый объект крутился вокруг своей оси?
У меня есть два объекта которые вращаются вокруг центральной оси, но как сделать так, чтобы они вращались вокруг своей оси как пропеллеры. При этом нужно учитывать, что они взаимосвязаны и их можно сдвинуть общей (translate) оси координат x и y?

P.S. Если объект находится в центре, то он начинает двигаться вокруг своей оси, но я их отодвинула в разные стороны на 20 используя арифметические операции "+" и "-".
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Object rotate</title>
</head>
<body>
<script>
var canvas, ctx;

var x = 240, y = 240;
var angle = 45;
var rectW = 25;
var rectH = 15;
function init()
{
canvas = document.createElement("canvas");
ctx = canvas.getContext("2d");
canvas.width = 700;
canvas.height = 700;
canvas.style.background = "#444444";
document.body.appendChild(canvas);
main();
}
function main()
{
var loop = function()
{
update();
window.requestAnimationFrame(loop, canvas);
}
window.requestAnimationFrame(loop, canvas);
}

function update()
{
ctx.clearRect(0,0,canvas.width,canvas.height);
angle+=5;
ctx.save();
ctx.translate(x, y);
ctx.rotate(dig(angle));
ctx.fillRect(-rectW/2, -(rectH/2)-20, rectW, rectH);     
ctx.fillRect(-rectW/2, -(rectH/2)+20, rectW, rectH);
ctx.restore();

}
function dig(angle)
{
  return angle * Math.PI/180;
}

init();
</script>
</body>
</html>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вращение вентилятора вокруг своей оси Nailya Элементы интерфейса 3 18.04.2014 10:48
Как сделать, чтобы при заходе на страницу открывались в 2-х окнах 2 ссылки ? autobuh Общие вопросы Javascript 1 26.08.2013 15:27
как сделать, чтобы при 2-м клике объект закрывался Nailya jQuery 9 13.06.2013 13:45
поворот вокруг своей оси IE 10 imediasun1 Элементы интерфейса 0 26.04.2013 21:38
как сделать чтобы страница не обновлялась? teles Общие вопросы Javascript 5 25.05.2012 11:20