![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
есть объект. в нём есть надпись (текстовое поле).
таких экземпляров в ролике должно быть штук 10 (это кнопки), но у каждого из них должен быть свой текст. а когда это текстовое поле находится внутри объека - то и у всех его экзампляров будет один и тот же текст. можно ли менять какие-то данные у конкретного экземпляра, а не у всего объекта (класса) ? |
|
|||||
|
Регистрация: Jun 2005
Сообщений: 16
|
Во-первых, этот объект должен быть movieClip, во-вторых, каждый из них должен иметь уникальное instance name (имя на сцене). Так как создание кнопки как movieClip занимет больше времени, чем обычная button, можно переместить из готовых компонентов кнопки и указать им параметры для текстового поля.
|
|
|||||
|
2 silin:
Спасибо за идею, но я не понял сути компонента, что это такое. Это тот же объект, только с какими-то переменными? Которые у каждого экземпляра этого объекта будут уникалными? Так? 2 KitAnimatio: Так если у меня на сцене будет много экзампляров этого объекта-мувиклипа, каждый со своим собственным Instance Name, они будут все абсолютно одинаковыми, и то, что в них содержится (текст, графика, другие мувиклипы) - тоже. Ты немного не понял вопроса ![]() |
|
|||||
|
Регистрация: Jun 2005
Сообщений: 16
|
так а разве не требовалось, чтобы кнопки были с одной графикой, но разным текстом? я предполагал, что необходимо что-то похожое на мой пример в buttons.zip.
|
|
|||||
|
2 Silin: То, что переменная компонента t - понятно, а что за массив this (ведь это же текущий мувик?), что за индекс ['mc'+i] ?
this['mc'+i].t 2 KitAnimatio: Да, вроде то что нужно, выложи иходник плиз посмотреть ![]() |
|
|||||
|
Регистрация: Jun 2005
Сообщений: 16
|
В моём исходнике ничего особого нет, лишь компонент "button" от Macromedia, он имеет имя "btn0", а в кадр вставлен такой AS:
btn0.setLabel("кнопка 0") for (var i=1;i<6;i++){ btn0.duplicateMovieClip("btn"+i,i) _root["btn"+i]._x=btn0.width*i _root["btn"+i].setLabel("кнопка "+i) } Если требуется сделать похожее с кнопкой, созданной своими руками, в библиотеке нужно изменить её behavior/type на moveClip, также, как в кнопке, создать три кадра (в 1 - обычное состояние, 2 - при наведении, 3 - при нажатии), на второй слой вставить текстовое динамическое поле с названием "label" и написать, например, следующий код: // один из способов создания поведения кнопки из movieClip, после которого кнопка реагирует только на onRelease stop() onRollOver=function(){over()} onRollOut=function(){out()} onPress=function(){down()} onMouseUp=function(){if(this.hitTest(_root._xmouse,_root._ymouse,true)){over()}} onDragOut=function(){out()} onDragOver=function(){over()} // вызываемые функции function over(){gotoAndStop(2)} function out(){gotoAndStop(1)} function down(){gotoAndStop(3)} function setLabel(nm){label.text=nm} |
![]() |
![]() |
Часовой пояс GMT +4, время: 19:21. |
|
|
« Предыдущая тема | Следующая тема » |
|
|