![]() |
|
||||||||||
|
|||||
|
Регистрация: Jan 2009
Сообщений: 13
|
нужно сделать эффект смены одной картинки на другую, слева на право
с изменением xscale. подскажите пожалуйста как это сделать программно с помощью AS. пример без AS во вложении. спасибо |
|
|||||
|
Регистрация: May 2008
Сообщений: 25
|
думаю проще всего сделать это с помощью двух масок. одна из них скрывает постепенно один файл, вторая маска постепенно показывает другой
|
|
|||||
|
Регистрация: Jan 2009
Сообщений: 13
|
нужно не совсем скрывать/показывать картинки.
скорее расширять/сужать притом это надо делать программно, не могли бы вы привести пример кода этого действа :-) |
|
|||||
|
Регистрация: May 2008
Сообщений: 25
|
щас сделаю... wait a moment
получилось вот так... чет с форматированием... в самом верху там переменные определяются, меняй как удобно и юзай. скрипт будет вращать любое кол-во картинок, так как если бы они были склеены по очереди ))) сколько запихнешь в массив, столько и прокрутит. картинки выложи где-нить вне сцены. если хочешь, могу прислать фла и свф файл Добавлено через 1 час 16 минут у меня получилось так ![]() var picArr:Array = new Array();// для удобства работы картинки запихнем в массив var curPic:Number = 0;// ссылка на текущую отображаемую картинку - индекс массива picArr var flag:Boolean = false;// флаг для имитации задержки картинки на экране var delay:Number = 50;// кол-во кадров, которые картинка будет оставаться на месте var count:Number = 0;// приращение кадров, отсчитывается до значения переменной delay var imgW:Number;// оригинальное значение ширины картинки var speed:Number = 3;// скорость смены картинок // заменяемая и заменяющая картинка var ground:MovieClip; var shift:MovieClip; // если картинок много, запихивание лучше сделать программно picArr[0] = pic1; picArr[1] = pic2; // начальное присваивание ground = picArr[0]; shift = picArr[1]; ground._x = 0; ground._y = 0; shift._x = -shift._width; shift._y = 0; // срабатывает с частотой кадров в мувике onEnterFrame = function ():Void { // проверяем надо ли анимировать картинку if (flag) { // проверяем, надо ли продолжать анимацию if (ground._width>speed) { shift._x += speed; ground._width -= speed; ground._x += speed; } else { flag = false; ground._x = 10000; ground._y = 10000; ground._width = imgW; ground = picArr[curPic]; ground._x = 0; ground._y = 0; // Последний элемент массива? if ((picArr.length-1) == curPic) { shift = picArr[0]; curPic = 0; } else { shift = picArr[curPic+1]; curPic++; } shift._x = -shift._width; shift._y = 0; } } else { if (count == delay) { flag = true; imgW = picArr[curPic]._width; count = 0; } else { count++; } } }; почему у меня отображается с бб-кодами? что я делаю не так? |
|
|||||
|
Регистрация: Jan 2009
Сообщений: 13
|
спасибо, swf и fla с примером было бы замечательно,
так как я флеш изучаю недавно и понятного пока очень мало. |
|
|||||
|
Регистрация: May 2008
Сообщений: 25
|
напиши в личку мыло, я тебе вышлю
|
![]() |
![]() |
Часовой пояс GMT +4, время: 19:40. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|