![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
[+6 16.05.06]
Регистрация: May 2004
Адрес: Россия
Сообщений: 175
|
Есть массив, состоящий из конечного числа элементов (все с разными именами). Нужно чтобы при наведении на любой элемент массива этот элемент увеличивался (от первоначального состояния - функция Begin()
до (_xscale=100, _yscale=100). При отведении указателя мыши с данного элемента, он должен возвращаться в положение, описанное функцией Begin();Листинг: var aLogo4:Array = [mcQw, mcEr, mcTy, mcU, mcOp, mcGg, mcFg, mcFk, mcPy];
//
Begin();
for (i=0; i<aLogo4.length; i++) {
aLogo4[i].onRollOver = function() {
if (_root.activ_Logo4 != this) {
bigest();
} else {
break;
}
};
}
//
for (i=0; i<aLogo4.length; i++) {
aLogo4[i].onRollOut = function() {
if (_root.activ_Logo4 != this) {
smallest();
} else {
break;
}
};
}
// Исходжное положение: все 50% масштаба и 50% альфы:
function Begin():Void {
var i:Number = 0;
while (i<10) {
aLogo4[i]._xscale = aLogo4[i]._yscale=aLogo4[i]._alpha=75;
i++;
}
}
//
function big():Void {
aLogo4[i]._xscale++;
aLogo4[i]._yscale++;
updateAfterEvent();
}
//
function small():Void {
aLogo4[i]._xscale--;
aLogo4[i]._yscale--;
updateAfterEvent();
}
//
function bigest():Void {
var Int1:Number;
if (aLogo4[i]._xscale != 100) {
Int1 = setInterval(this, "big", 100);
trace("Навел мышь!");
} else {
clearInterval(Int1);
}
}
//
function smallest():Void {
var Int2:Number;
if (aLogo4[i]._xscale != 75) {
Int2 = setInterval(this, "small", 100);
trace("Отвел мышь!");
} else {
clearInterval(Int2);
}
}
Подскажите - где косяк, почему не увеличивается и не уменьшается?.. |
|
|||||
|
[+6 16.05.06]
Регистрация: May 2004
Адрес: Россия
Сообщений: 175
|
На счет разных имен - имел ввиду, что нельзя имена циклом задать! Они все уникальные!
|
|
|||||
|
Регистрация: Mar 2006
Адрес: Odessa
Сообщений: 157
|
Разберись с областями видимости переменных.
У тебя в функциях big, small и др. используется переменная i, а откуда она по твоему мнению береться??? Последний раз редактировалось RandomUser; 29.04.2006 в 18:45. |
|
|||||
|
[+6 16.05.06]
Регистрация: May 2004
Адрес: Россия
Сообщений: 175
|
НИЧЕГО не могу понять: в старом добром Паскале - делаешь переменную глобально-доступной и никаких проблем! А тут черт ногу сломит...
ну подскажи, что надо сделать?.. Очень важный момент - уже не в первый раз на этом зарубаюсь... ПОЖАЛУЙСТА... |
|
|||||
|
[+6 16.05.06]
Регистрация: May 2004
Адрес: Россия
Сообщений: 175
|
Ну изменил я в функции Begin(); переменную с i на j.
Эффекта никакого. |
|
|||||
|
Регистрация: Mar 2006
Адрес: Odessa
Сообщений: 157
|
Переменная i у тебя задается циклом for (i=0; i<aLogo4.length; i++).
После окончания цикла i=aLogo4.length. Именно эту i ты и подсовываешь в свои функции. Т.е. у тебя обрабатывается элемент aLogo4[aLogo4.length]. Который по определению не существует... Вывод: передавай параметром этот индекс, предварительно сохранив его в каждом мувике. |
|
|||||
|
[+6 16.05.06]
Регистрация: May 2004
Адрес: Россия
Сообщений: 175
|
2 RandomUser:
Как передать индекс параметром - не совсем пойму о чем речь... Тем более: что такое "сохранить индекс в каждом документе"? RandomUser объясни плиз, лучше с листингом. P.S. А то меня Nirth скоро за человека считать не будет! - создаст новый раздел "Для даунов" и мои посты туда перемещать будет! ![]() |
|
|||||
|
Регистрация: Mar 2006
Адрес: Odessa
Сообщений: 157
|
В флеше есть такое понятие как function... И при вызове каждой функции можно ей передавать параметры...
В приведенном выше премере функция, которую нужно вызвать например так: И функция big обработает это как Пока все понятно? p.s.В свой проект этот код вставлять не надо! |
|
|||||
|
[+6 16.05.06]
Регистрация: May 2004
Адрес: Россия
Сообщений: 175
|
Пока все...
У тебя аси нет?.. |
![]() |
![]() |
Часовой пояс GMT +4, время: 04:47. |
|
|
« Предыдущая тема | Следующая тема » |
|
|