![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jun 2006
Сообщений: 6
|
Здравствуйте.
Есть ли возможность при помощи AS обратиться к клипам, не имеющим Instance Name? Задача поставлена следующим образом: делается игра в Flash 8 со своим встроенным редактором уровней. Редактор должен быть сконструирован так, чтобы дизайнер, который им будет пользоваться, мог просто перетаскивать нужные предметы из библиотеки в сцену, не заботясь о прописывании InNm-ов. Таким образом, необходимо как-то получить список всех клипов лежащих в определенном слое или кадре и потом как-то к ним обращаться. Возможно ли это? Спасибо. |
|
|||||
|
[+1 10.07.06]
Регистрация: Jan 2003
Сообщений: 365
|
instanceName'сы есть у всех мувов, не зависимо, прописали их или нет.
В случае, если пользователь не прописал эти имена явно, они назначаются (генерируются) автоматически. Получить все мувы в другом муве можно просто перебирая все элементы и проверяя их тип (typeof()== 'movieclip'). |
|
|||||
|
Регистрация: Jun 2006
Сообщений: 6
|
Цитата:
PS Я понимаю, что архитектура достаточно странная, но менять ее мы, к сожалению, не можем =\ |
|
|||||
|
[+1 10.07.06]
Регистрация: Jan 2003
Сообщений: 365
|
Всё зависит только от конкретной задачи. Я бы делал примерно так:
for (var ii in Locations) {
// перебираемый эелемент является клипом?
if (typeof(Locations[ii]) == "movieclip") {
// что это за клип?
if (Locations[ii].itemType == "carpet") {
// да, мы нашли ковёр и с ним надо что-то делать :)
}
}
}
Что-то подобное... И пусть после этого дизайнер таскает этот мувик куда угодно (внутри Locations). |
|
|||||
|
все мувики по умолчанию нумеруються instanse0, instanse1... и т.д.
по этим именам можно к ним обращаться |
|
|||||
|
Регистрация: Jun 2006
Сообщений: 6
|
Код из примера не работал, я его изменил:
for (var i in Locations) {
// перебираемый эелемент является клипом?
if (typeof (Locations[i]) == "movieclip") {
var tst = eval(targetPath(Locations[i]));
// что это за клип?
if (tst.itemType == "carpet") {
trace(">>>>>>>>>");
}
}
}
А нет ли какой-то возможности брать конкретный слой, узнавать, что на нем лежит и потом с этим работать? |
|
|||||
|
Регистрация: Mar 2001
Сообщений: 1,147
|
сделай ему редактор на АС, чтобы он(дезигнер) уровни "генерил" в плеере. тут же пусть и тестирует.
__________________
Кто говорит, тот не знает. Кто знает, тот не говорит. |
|
|||||
|
Регистрация: Jun 2006
Сообщений: 6
|
Цитата:
|
|
|||||
|
Регистрация: Mar 2001
Сообщений: 1,147
|
ну а чего, у тебя все уровни сразу с роликом станут грузиться? а если юзер даже первый не сможет пройти? уровень должен храниться массивом данных в отдельном файле и грузиться по мере необходимости.
а дезигнера к fla на пушечный выстрел подпускать нельзя. завтра он у тебя основной код грохнет, его уволят, а тебе снова всё писать (хотя я бы в этом случае и тебя бы уволил тоже и админа, который ежедневное резервное копирование не сделал тоже бы уволил. и уборщицу. просто закомпанию)
__________________
Кто говорит, тот не знает. Кто знает, тот не говорит. |
|
|||||
|
Цитата:
|
![]() |
![]() |
Часовой пояс GMT +4, время: 01:48. |
|
|
« Предыдущая тема | Следующая тема » |
|
|