Поместите изображения в разные сектора круга (титан)

У меня есть изображение круга, разделенного на n секторов в Титаниуме. Теперь внутри каждого сектора мне нужно разместить изображение. Каждый угол изображения рассчитывается по первому изображению, которое будет повернуто в центре.

Как я могу это сделать ? Поместите первое изображение так, чтобы его стержень находился в центре вверху, а затем поместите другие изображения под определенным углом в других секторах.


person user782400    schedule 17.07.2013    source источник


Ответы (1)


Вы можете применить поворот к каждому изображению.

Я делал что-то подобное, может быть, это поможет вам. Я хотел поставить метку в каждый сектор. Для этого сначала я должен создать прозрачный вид, который более или менее покрывает сектор, затем поместить сектор на его место, вращая его, а затем поместить метку внутри вида сектора.

Это код, который я использую:

var numberArray = [1, 2, 3, 4, 5, 6, 7, 8]; 
var angle = 360 / 8;
var rotation = 0;

for (var i = 0; i < 8; i++) {
    var sector = Ti.UI.createView({
                backgroundColor : 'transparent',
                width : 25,
                height : circle.height / 2,
                top : 0
            });
    circle.add(sector);

     rotation = rotation + angle*i;
     var matrix = Ti.UI.create2DMatrix()
        matrix = matrix.rotate(rotation);
        var a = Ti.UI.createAnimation({
            transform : matrix,
            duration : 1000,
            autoreverse : false,
            repeat : 0
        });

        a.anchorPoint = {
            x : 0.5,
            y : 0.5
        }

        sector.anchorPoint = {
            x : 0.5,
            y : 0.5
        }

        sector.animate(a);

            // Create a Label.
            var numberLabel = Ti.UI.createLabel({
                text : numberArray[i],
                color : '#FF0000',
                font : {
                    fontSize : 26
                },
                textAlign : 'center',
                top : 10
            });

            // Add to the parent view.
            sector.add(numberLabel);


}
person A.Vila    schedule 23.07.2013