Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Подсчет расстояния смещения (http://www.flasher.ru/forum/showthread.php?t=119309)

nOobCrafter 17.12.2008 16:32

Подсчет расстояния смещения
 
Вложений: 1
Делаю меню и столкнулся с проблемой. При нажатии на кнопку надо смещать все остальные на опредленное расстояние. Как к ним обратиться уже разобрался, а вот как их корректно сместить нет. У меня получается что при нажатии на каждую следующую кнопки, все кнопки смещаются на расстояние в 2 раза большее чем предыдущие. Мне же надо что бы все нижестоящие кнопки смещались одинаковую на высоту (выглядеть должно как вертикальное выпадающее меню с подпунктами, при нажатии на кнопку буду выпадать подпункты и остальные (главные) кнопки будут смещаться вниз на величину их высоты). Вообщем то вот функция смещения.
Код AS1/AS2:

function btns_on_release(){
        for( var i = this.j; i < total_j; i++) 
        {
        var tween_1alphadown:Tween = new Tween(clip_array[i + 1], "_y", Strong.easeOut, this._y, this._y + (this._height + btns_space) * (i + 2), 1, true);
        //trace("(i + 1) - " + (i + 1) + "; (total_j - i) - " + (total_j - i))  // trace вроде бы верный, кооридинаты меняются местами, но похоже не в том дело.
        }
}

Вот исходник.

Mnilionic 17.12.2008 17:46

при нажатии на кнопку получаешь величину, на которую должны сместится нижестоящие. И двигаешь их на эту величину исходя из их текущего положения
Код AS1/AS2:

var sub_item_height = 150; // 
for( var i = this.j; i < total_j; i++) {
        var btn = clip_array[i + 1];
        btn._y += sub_item_height;
}


nOobCrafter 17.12.2008 18:05

Задача в том что бы именно расчитать эту высоту смещения ибо она для каждой кнопки будет своя, кол-во подпунктов то будет разным. А тут как понимаю высота смещени ядля всех одинаковая. Или я не прав?

Mnilionic 17.12.2008 19:16

значит сначала создаешь список подпунктов, потом замеряешь высоту, потом раздвигаешь кнопки.


Часовой пояс GMT +4, время: 10:31.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.