Я пытаюсь заставить эти 2 изображения png просто вращаться на моем холсте. Изображения больше, чем холст, потому что я хочу показать только определенные участки колеса, когда оно вращается в холсте. Я отлично получил png на холсте, они круглые и выровнены по низу и по центру, так что он показывает только эту часть колеса. Я использую createjs в своем коде с easl и tween. По какой-то причине, когда я поворачиваю свое изображение, оно делает это из какой-то случайной точки регистрации. Есть ли способ заставить это изображение вращаться вокруг своего собственного центра, который находится вне области холста?
var CANVAS;
var STAGE;
var CTX;
var imageCount = 0;
var img1Obj = new Image();
var img2Obj = new Image();
var img3Obj = new Image();
var img1;
var img2;
var img3;
var box;
function init(){
CANVAS = document.getElementById("spinWheel");
STAGE = new createjs.Stage(CANVAS);
CTX = CANVAS.getContext('2d');
img1Obj.src = "img/iphone_wheel_outer.png";
img2Obj.src = "img/iphone_wheel_middle.png";
img3Obj.src = "img/iphone_wheel_inner.png";
img1Obj.name = "img1";
img2Obj.name = "img2";
img3Obj.name = "img3";
img1Obj.onload = loadImages;
img2Obj.onload = loadImages;
img3Obj.onload = loadImages;
createjs.Ticker.setFPS(30);
createjs.Ticker.addListener(STAGE);
}
function loadImages(e)
{
if(e.target.name == 'img1'){img1 = new createjs.Bitmap(img1Obj); }
if(e.target.name == 'img2'){img2 = new createjs.Bitmap(img2Obj); }
if(e.target.name == 'img3'){img3 = new createjs.Bitmap(img3Obj); }
imageCount++;
/* Display graphics until all of them are loaded */
if(imageCount == 3)
{
buildInterface();
}
}
function buildInterface(){
img1.x = -370;
img2.x = -370;
img3.x = -370;
img1.y = 235;
img2.y = 235;
img3.y = 235;
createjs.Tween.get(img1,{loop:true})
.to({rotation : 360}, 2000);
STAGE.addChild(img1, img2, img3, box);
}
$(document).ready(function() {
init();
});