Вход

Просмотр полной версии : однотипные объекты


a7z
21.05.2009, 00:07
есть кнопки на сцене. для всех без исключения кнопок нужно сделать однотипные повторяющиеся действия с разными параметрами (типа изменения имени кнопки)...
как указать что для любой кнопки на сцене верно выполнение таких-то действий, а не указывать для каждой кнопки одни и те же функции типа

a1.onPress=function(){тра та та}
a2.onPress=function(){тра та та}
...
an.onPress=function(){тра та та}

а нужно что-то типа
objectbutton.onPress=function(){тра та та}:wacko:

ps если туго объяснил, то пишите, попробую объяснить более развернуто:taunt:

dimarik
21.05.2009, 00:18
for (var i:Number = 0; i < 10; i++) {
this['button_' + i].onRelease = function():Void {
trace('pressed: ' + this._name);
}
}

a7z
21.05.2009, 13:24
for (var i:Number = 0; i < 10; i++) {
this['button_' + i].onRelease = function():Void {
trace('pressed: ' + this._name);
}
}

thx! но я имел ввиду не совсем то.
названия я буду давать совершенно разные(a1...an я хотел показать однотипность) и в зависимости от названия будет подгружаться нужный файл, так что может можно как-то обойти цикл и сказать, что для всего класса кнопки будет действительны такие-то действия.

Stargazer
21.05.2009, 13:52
обойти цикл и сказать, что для всего класса кнопки будет действительны такие-то действия

Вы хотите создать дополнительный метод, который можно применить к любым кнопкам?

Теоретически, это выглядит так:
Button.prototype.myPersonalMethod= function(){
// ...
}

На деле никогда прототипами не пользовался, потому что предпочитаю использовать хотя бы AS2 для наследования общего поведения.

a7z
21.05.2009, 14:39
обойти цикл и сказать, что для всего класса кнопки будет действительны такие-то действия

Вы хотите создать дополнительный метод, который можно применить к любым кнопкам?

Теоретически, это выглядит так:
Button.prototype.myPersonalMethod= function(){
// ...
}

На деле никогда прототипами не пользовался, потому что предпочитаю использовать хотя бы AS2 для наследования общего поведения.

Гениально! Это то что и было нужно, спасибо!