![]() |
|
||||||||||
|
|||||
|
Регистрация: Feb 2008
Сообщений: 560
|
Цитата:
upd. Еще добавьте где-нибудь. Последний раз редактировалось rainbowrussia; 04.06.2010 в 23:53. |
|
|||||
|
Регистрация: Sep 2009
Сообщений: 45
|
Просто супер!!! Спасибо за потраченное на меня время, я ваш должник.
У меня огромная просьба, если вас не затруднит расписать таким образом "var w = Stage.width; // текущая ширина сцены" скрипт. Понимаю, что это за геморрой, поэтому если "нет" то без претензий. объясню, я хотел бы понять, что за чем и почему, что бы в дальнейшем этим пользоваться. Спокойно менять и понимать, что за чем. Еще раз спасибо! |
|
|||||
|
Регистрация: Feb 2008
Сообщений: 560
|
Stage.scaleMode = 'noScale'; // отключаем масштабирование содержимого Stage.align = 'TL'; // устанавливаем "ноль" слева вверху // запоминаем исходную ширину и высоту картинки var imgw = mcImg._width; var imgh = mcImg._height; // устанавливаем принудительное сглаживание картинки mcImg.forceSmoothing = true; // создаем объект с единственным методом - onResize var resizer:Object = new Object(); resizer.onResize = function () { var sw = Stage.width; // ширина сцены var sh = Stage.height; // высота сцены // позиционирование клипов // тут идет математики, напрямую к флешу местами не относящаяся if (sw/sh > imgw / imgh) { // если картинку надо будет обрезать по высоте mcImg._x = 0; // левый край позиционируем на ноль по горизонтали mcImg._width = sw; // ширину картинки вытсавляем по ширине сцены mcImg._height = Math.round(sw * imgh / imgw); // выставляем высоту картинки, пропорционально ее изначальным размерам (чтобы не было искажения) mcImg._y = Math.round((sh - mcImg._height)/2); // сдвигаем ее вверх на половину выступающей за пределы сцены части } else { // аналогичный алгоритм, если размер сцены таков, что у картинки надо обрезать левый и правй край mcImg._y = 0; mcImg._height = sh; mcImg._width = Math.round(sh * imgw / imgh); mcImg._x = Math.round((sw - mcImg._width)/2); } // mcImg._x = sx; - эти две строчки лишние, забыл их убрать // mcImg._y = sy; // позиционируем текстовые элементы // в принципе их можно и не трогать, если они всегда слева вверху находятся // и их положение не зависит от размера сцены mcTxt1._x = mcTxt2._x = mcTxt3._x = 10; mcTxt1._y = 20; mcTxt2._y = mcTxt1._y + 50; mcTxt3._y = mcTxt2._y + 50; } // вызываем один раз наш метод, чтобы выстроить элементы в соответствии с текущими размерами сцены // очень может быть что onResize полюбому сам должен вызваться, но лишним не будет resizer.onResize(); // добавляем к сцене "слушателя" событий в виде нашего объекта Stage.addListener(resizer); Последний раз редактировалось rainbowrussia; 05.06.2010 в 02:52. |
![]() |
![]() |
Часовой пояс GMT +4, время: 02:31. |
|
|
« Предыдущая тема | Следующая тема » |
|
|