![]() |
Как правильно обращаться к пронумерованным копиям клипа?
Привет! В общем такая проблема: есть несколько клипов, которые аттачатся из библиотеки. Нужно чтобы имена шли по порядку, name0, name1, name2 и т.д. Это сделать смог:
Код:
mClip.attachMovie("MC", "name"+i, i, {_x:mClip._xmouse, _y:mClip._ymouse})Код:
trace (mClip.name+i._x); |
Код:
mClip["name"+i]._x |
Спасибо!
А почему не работает? Код:
["name" + i].onRollOver = function(){trace ("Hellow, world!")} |
"Аттачится" клип в mClip. Поэтому надо указывать полный путь.
Но, даже если вы "аттачите" на _root, то надо указать this или _root. Конструкции ["name" + i].onRollOver не проходит по причине: идентификатор должен начинаться с буквы или _, а у вас с [ Скобки применяются внутри составной конструкции, причем точка ставится только после последней закрывающей скобки. Допустимый синтаксис: mClip["menu"+i]["myclip"+i*2]._x |
Но тем не менее это не работает:
Код:
_root["name" + i].onRollOver = function(){ |
не работает потому что вы аттачите не в _root, а в mClip... Если mClip в руте, то будет работать
Код:
_root.mClip["name" + i].onRollOver = function(){ |
Не не, извиняюсь, уже в _root аттач происходит.
Цитата:
|
В цикле надо обработчики создавать, в цикле!!!!!
Только тогда для всех клипов работать onRollOver будет. А еще лучше, в свойcтве prototype класса MovieClip сохранить сей обработчик, тогда он будет для всех мувиклипов вызываться. |
Буду рад маленькому примеру по этому поводу ;) но даже если ручками вписать
Код:
_root.name0.onRollOver = function(){ |
А name0 у Вас существует на _root?! Нет!
Вы его создали на mClip (см.выше) так делайте: Код:
_root.mClip.name0.onRollOver = function() |
| Часовой пояс GMT +4, время: 14:11. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.