Просмотр полной версии : Одинаковые события для разных мувиков
Привет :)
Для экономии объема и воще чтоб повыпендриватся появилась вот такая мысля - описать одинаковые события для разных мувиков в цикле меняя их имена. Звучит не очень понятно?
Тогда вот пример:
Есть 3 мува m1, m2, m3 и код в е единственном фрэйме
for (i=1; i<4; ++i) {
o = eval("m"+i);
o.onEnterFrame = function() {
o._x+=1;
};
}
Подразумевалось что все три мува будут медленно ехать вправо. Но что происходит на самом деле? Кто виноват и что делать? :)
Nox Noctis
10.11.2003, 17:16
либо я чего-то не понимаю, либо одно из двух :)
все работает же...
ты уверен что паблишишь под шестой флэш хотя бы ?
А нифига :)
это ты мой o. на this. заменил - у тебя сам рут едет а не мувы :)
Nox Noctis
10.11.2003, 17:53
не рут, не правда :)
накидай еще графики - увидишь что она не едет...
и там естессно нужен зис.
потому что иначе у тебя ничего не поедет, либо поедет только последний клип
(в зависимости от того как у тебя счетчик цикла будет сделан)
в этом и была ошибка.
дак надо чтобы все три мувика двигались если это так то вот код
_root.onEnterFrame = function() {
for (i=1; i<4; ++i) {
_root["m"+i]._x += 1;
}
};
Оригинал написал(а) opex
дак надо чтобы все три мувика двигались если это так то вот код
_root.onEnterFrame = function() {
for (i=1; i<4; ++i) {
_root["m"+i]._x += 1;
}
};
Это из другой оперы.
2Nox
Точно - работает :) Это я как пацан зеленый в адресации запутался :D Надо еще потестить а то в башке еще не до конца уложилось :) . Получается что этот код вроде как прямо в клипе потом и находится? Я вроде поначалу так и думал. НО! Добавь в функцию строку
trace(_target);
Это как понимать?
2All
Не мужики мне рут двигать не надо. Мне нужно одинаковый код, ну или почти одинаковый (можно анализировать изнутри свойство _name и варировать) засунуть в кучу разных мувиков (или кнопок).
Nox Noctis
11.11.2003, 11:11
Оригинал написал(а) Fisher
Добавь в функцию строку
trace(_target);
Это как понимать?гляди, тебя щас вообще дисквалифицируют :))
область видимости имен так устроена в объектной модели..
если в коде обработчика идентификатор написан БЕЗ указания пути, то:
сначала идентификатор ищется в объекте _global, потом внутри контейнера, в котором находится код (сам код, а не объект для которого он предназначен) потом во временных переменных самой функции, потом внутри объекта, выполняющего обработчик..
поставь this._target вместо _target :)
Да мы воще люди темные - от сохи :D Академиев не кончаем хелпов не читеем :D Мы эту флэш пролетарским нутром чуем - все на тел таргет меряем :)
Спасибо мил человек - прийдется видать всеж теоретически подковатца мальца :)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.