![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
[+4 24.05.10]
Регистрация: May 2003
Адрес: Москва
Сообщений: 186
|
Есть резиновый флеш. В нем несколько мувиков (предположим, mc1, mc2, mc3). Расстояние между ними изменяются по ширине в зависимости от размера экрана пользователя.
Нужно эти мувики расположить по горизонтальному центру сцены (как бы соединить их в группу и отцентровать). Подскажите, как это сделать. Один массив в сцене уже имеется, но для моей задачи, судя по всему, надо создать новый массив, добавить в него мувики и прописать что-то наподобие В целом понимаю, но с синтаксисом AS у меня проблемы. Надеюсь, подскажете. На всякий случай, код — в целом он примерно таков: Stage.scaleMode = "noScale"; Stage.align = "TL"; var resize_obj = {}; resize_obj.normal_width = 400; resize_obj.normal_height = 300; resize_obj.position = [mc1, mc2, mc3]; resize_obj.onResize = function() { var clip; for (var i in this.position) { clip = this.position[i]; clip._x = Stage.width*clip._xRatio; clip._y = Stage.height*clip._yRatio; if (clip._widthRatio != undefined) { clip._width = Stage.width*clip._widthRatio; } if (clip._heightRatio != undefined) { clip._height = Stage.height*clip._heightRatio; } } }; Stage.addListener(resize_obj); var clip; for (var i in resize_obj.position) { clip = resize_obj.position[i]; clip._xRatio = clip._x/resize_obj.normal_width; clip._yRatio = clip._y/resize_obj.normal_height; } mc1._Ratio = mc1.noScale; mc2._Ratio = mc2.noScale; mc3._Ratio = mc3.noScale;
__________________
Достал уж всех своими глупыми вопросами... |
|
|||||
|
Регистрация: Feb 2008
Сообщений: 560
|
Что-то навроде этого:
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; } |
|
|||||
|
[+4 24.05.10]
Регистрация: May 2003
Адрес: Москва
Сообщений: 186
|
Спасибо. Но сейчас такая ситуация, что расстояние между клипами по ширине является не фиксированным, а резиновым (меняется при изменении ширины окна).
__________________
Достал уж всех своими глупыми вопросами... |
|
|||||
|
Регистрация: Feb 2008
Сообщений: 560
|
Тогда я не понял что вам нужно.
Если нужно центровать, НО чтобы расстояние между ними было резиновым, то замените на тут расстояние будет 5% ширины. |
|
|||||
|
[+4 24.05.10]
Регистрация: May 2003
Адрес: Москва
Сообщений: 186
|
Спасибо, буду пробовать.
__________________
Достал уж всех своими глупыми вопросами... |
|
|||||
|
Регистрация: Feb 2008
Сообщений: 560
|
Если нужно чтобы расстояние между мувиками и краями экрана было равно, то код нужно немного модифицировать, если нужно именно так, то могу написать новый код.
|
|
|||||
|
[+4 24.05.10]
Регистрация: May 2003
Адрес: Москва
Сообщений: 186
|
Если вас не затруднит, то буду весьма благодарен за модификацию кода :-)
__________________
Достал уж всех своими глупыми вопросами... |
|
|||||
|
Регистрация: Feb 2008
Сообщений: 560
|
Цитата:
Stage.scaleMode = "noScale"; Stage.align = "TL"; var resize_obj = {}; resize_obj.position = [mc1, mc2, mc3]; resize_obj.onResize = function() { var cdist = (Stage.width - this.cwidth) / (this.position.length + 1); var curpos = cdist; for (var i in this.position) { clip = this.position[i]; clip._x = curpos; clip._y = (Stage.height - clip._height) / 2; curpos += clip._width + cdist; } }; resize_obj.cwidth = 0; for (var i in resize_obj.position) { resize_obj.cwidth += resize_obj.position[i]._width; } Stage.addListener(resize_obj); resize_obj.onResize(); stop(); |
|
|||||
|
[+4 24.05.10]
Регистрация: May 2003
Адрес: Москва
Сообщений: 186
|
Спасибо!
__________________
Достал уж всех своими глупыми вопросами... |
![]() |
![]() |
Часовой пояс GMT +4, время: 21:52. |
|
|
« Предыдущая тема | Следующая тема » |
|
|