将图像放入圆圈的不同扇区(钛)

时间:2013-07-17 13:41:17

标签: image titanium pivot geometry sector

我在Titanium中有一个划分为 n 扇区的圆圈图像。现在我需要在每个扇区内放置一个图像。从将在中心枢转的第一图像计算每个图像角度。

我该怎么做?将第一张图像的旋转放置在中心顶部,然后将其他图像放置在其他扇区中的某个角度距离。

1 个答案:

答案 0 :(得分: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);


}