Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы о Flash (не затрагивающие ActionScript) (http://www.flasher.ru/forum/forumdisplay.php?f=60)
-   -   изменение какого-то параметра у экземпляра объекта (http://www.flasher.ru/forum/showthread.php?t=66111)

KeKcc 27.06.2005 18:19

изменение какого-то параметра у экземпляра объекта
 
есть объект. в нём есть надпись (текстовое поле).
таких экземпляров в ролике должно быть штук 10 (это кнопки), но у каждого из них должен быть свой текст. а когда это текстовое поле находится внутри объека - то и у всех его экзампляров будет один и тот же текст.
можно ли менять какие-то данные у конкретного экземпляра, а не у всего объекта (класса) ?

silin 27.06.2005 21:42

Вложений: 1
или программно или определив символ в библиотеке как компонент (не знаю как это правильно называется, смотри пример)

KitAnimatio 28.06.2005 13:02

Во-первых, этот объект должен быть movieClip, во-вторых, каждый из них должен иметь уникальное instance name (имя на сцене). Так как создание кнопки как movieClip занимет больше времени, чем обычная button, можно переместить из готовых компонентов кнопки и указать им параметры для текстового поля.

KeKcc 28.06.2005 13:25

2 silin:
Спасибо за идею, но я не понял сути компонента, что это такое. Это тот же объект, только с какими-то переменными? Которые у каждого экземпляра этого объекта будут уникалными? Так?

2 KitAnimatio:
Так если у меня на сцене будет много экзампляров этого объекта-мувиклипа, каждый со своим собственным Instance Name, они будут все абсолютно одинаковыми, и то, что в них содержится (текст, графика, другие мувиклипы) - тоже.
Ты немного не понял вопроса :)

KitAnimatio 28.06.2005 14:49

Вложений: 1
так а разве не требовалось, чтобы кнопки были с одной графикой, но разным текстом? я предполагал, что необходимо что-то похожое на мой пример в buttons.zip.

silin 28.06.2005 18:31

>>это тот же объект, только с какими-то переменными? которые у каждого экземпляра этого объекта будут уникалными? так?
так

KeKcc 29.06.2005 19:13

2 Silin: То, что переменная компонента t - понятно, а что за массив this (ведь это же текущий мувик?), что за индекс ['mc'+i] ? :confused:

this['mc'+i].t

2 KitAnimatio: Да, вроде то что нужно, выложи иходник плиз посмотреть :)

silin 29.06.2005 19:37

глянь #3

Жень Шень 30.06.2005 12:15

Вложений: 1
Цитата:

есть кнопки, у каждой из них должен быть свой текст.
можно ли его менять индивидуально?
привет!
можно. посмотри пример, может подойдет.

KitAnimatio 01.07.2005 15:10

В моём исходнике ничего особого нет, лишь компонент "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, время: 22:08.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.