![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Jun 1999
Адрес: москва
Сообщений: 27
|
доброго времени суток
![]() вопрос вот в чем: есть некое поле в котором расположены три поля (рамки с картинками) и управляющая кнопка ... нужно чтобы при щелчке на кнопке картинки "погасли" (прозрачность 100) одна за другой с равным интервалом, потом произошла смена картинок в каждом поле (в "погашенном" состоянии) и затем рамки также постепенно "включились" бы (прозрачность=0) но уже с новыми картинками внутри ... спасибо ![]() |
|
|||||
|
Регистрация: Jun 2004
Адрес: Москва
Сообщений: 475
|
Для того что бы сделать, нужно подумать. Имеем массив с именами картинок, пишем функцию загрузки картинок в требуемые клипы, сразу клипам присваеваем _alpha=0. Проверяем загрузку, если все загрузилось, запускаем еще одну функцию появления. Нажимаем кнопку берем имена картинок к примеру из другого массива и создаем в мувиках еще по одному мувику и повторяем предыдущие действия. Ничего сложного да и вариантов выполнения множество
|
|
|||||
|
Регистрация: Jun 1999
Адрес: москва
Сообщений: 27
|
спасибо Futs
может есть какой-либо "сэмпл" из которого изложенное может понять ИДИОТ ? кое-как разобрался с 4-ой версией "флэш" а потом "перепрыгнул" на OS X и оказался нос к носу с этим МХ ... можно как-то на примерах показать эти операции ? спасибо |
|
|||||
|
1)добавляешь все картинки в массив:
2)создаем функцию, которая будет делать какие-то действия по очереди: MovieClip.prototype.startConveyer = function(arr, func, offcet, speed, onComplete) {
this.t = offcet;
this.func = func;
this.arr = arr;
this.speed = speed;
this.onComplete = onComplete;
this.onEnterFrame = function() {
this.arr[this.t].onComplete = this.func;
this.arr[this.t].onComplete();
if (this.t>this.arr.length) {
delete this.onEnterFrame;
this.onComplete();
}
this.t += this.speed;
};
};
MovieClip.prototype.appear = function(){
this.alpTo(100,3)
}
MovieClip.prototype.disAppear = function(){
this.alpTo(0,3)
}
MovieClip.prototype.alpTo = function(alp, speed, onComplete) {
this.alp = alp;
this.speed = speed;
this.onComplete = onComplete;
this.onEnterFrame = function() {
this._alpha += (this.alp-this._alpha)/this.speed;
if (Math.abs(this._alpha-this.alp)<2) {
delete this.onEnterFrame;
this._alpha = this.alp;
this.onComplete();
}
};
};
MovieClip.prototype.loadImage = function(src, onComplete) {
this.createEmptyMovieClip("image_holder", 100);
this.mclListener = new Object();
this.mclListener.onLoadComplete = function(trg) {
trg.onComplete();
};
this.mclListener.onLoadStart = function(trg) {
trg.onComplete = onComplete;
};
this.mclListener.onLoadStart = function(trg) {
};
this.image_mcl = new MovieClipLoader();
this.image_mcl.addListener(this.mclListener);
this.image_mcl.loadClip(src, this.image_holder);
};
теперь пишем код который грузит новые картинки: loadNewImages = function(){
for(var i in mArr){
mArr[i].loadImage(линк на картинку, событие по окончанию)
}
мне ее писать сейчас лень но допустим она вызывает onAllImagesLoaded() Дальше - картинки исчезают: controller = _root.createEmptyMovieClip("controller", 100)
controller.startConveyer(mArr , disAppear, 0, 1, loadNewImages);
Последний раз редактировалось Король; 10.02.2006 в 00:18. |
|
|||||
|
много кода слишком. можно проще - но у меня уже готовые функции были
Последний раз редактировалось Король; 10.02.2006 в 00:17. |
|
|||||
|
Регистрация: Jun 2004
Адрес: Москва
Сообщений: 475
|
2 Король, грамотно - особенно понравился конвеер, надо будет взять идею на вооружение, помню парился с подобной задачей, но боюсь Владу трудно будет с этим разобраться, а писать попроще времени нет.
2 Влад, думаю тебе лучше поискать исходник какой-нибудь галереи их не так мало |
|
|||||
|
Регистрация: Jun 1999
Адрес: москва
Сообщений: 27
|
Спасибо за ответ, Король
![]() что называется "а дураки все не унимались ..." ... мнеэто было бы проще разобрать полазив по каком-нибудь "сэмплу" ... можно ли сделать что-то похожее:в поле пара рамок с картинками внутри и управляющая кнопка ... при нажатии на кнопку картинки внутри рамок "гаснут" одна за другой, в погашеном состоянии внутри рамок происходит смена слайдов и во включившихся (так жеодно за другим) видны новые картинки ... работа естсественно чего-то СТОИТ ... озвучте! ![]() удачного дня ![]() |
|
|||||
|
Регистрация: Jun 1999
Адрес: москва
Сообщений: 27
|
спасибо Futs
![]() может есть какой-либо "сэмпл" из которого изложенное может понять ИДИОТ ? кое-как разобрался с 4-ой версией "флэш" а потом "перепрыгнул" на OS X и оказался нос к носу с этим МХ ... можно как-то на примерах показать эти операции ?спасибо ![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 22:52. |
|
|
« Предыдущая тема | Следующая тема » |
|
|