我在Titanium中有一个划分为 n 扇区的圆圈图像。现在我需要在每个扇区内放置一个图像。从将在中心枢转的第一图像计算每个图像角度。
我该怎么做?将第一张图像的旋转放置在中心顶部,然后将其他图像放置在其他扇区中的某个角度距离。
答案 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);
}