Показать сообщение отдельно
Старый 27.05.2010, 20:55
rainbowrussia вне форума Посмотреть профиль Отправить личное сообщение для rainbowrussia Найти все сообщения от rainbowrussia
  № 2  
Ответить с цитированием
rainbowrussia
 
Аватар для rainbowrussia

Регистрация: Feb 2008
Сообщений: 560
Что-то навроде этого:

Код AS1/AS2:
    var clip;
    var cwidth = 0;
    var cdist = 10; // расстояние между клипами
    // вычисляем ширину блока клипов
    for (var i in this.position) {
        clip = this.position[i];
        cwidth += clip._width;
    }
    cwidth += (this.position.length - 1) * cdist;
    // располагаем клипы слева направо
    var curpos = (Stage.width - cwidth) / 2;
    for (var i in this.position) {
        clip = this.position[i];
        clip._x = curpos;
        clip._y = (Stage.height - clip_height) / 2;
        curpos += clip._width + cdist;
    }
Во флеше не проверял, но должно работать. Алгоритм зависит от того, где находится точка привязки клипов. В этом коде я предположил что точка привязки - слева вверху. Общий смысл - считаем ширину всех блоков, добавляем интервалы между ними, начинаем располагать блоки слева направо, начиная с рассчитанной точки.