![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Nov 2005
Адрес: UA
Сообщений: 326
|
Цитата:
xenOnn Надеюсь, что получив имя кнопки (или мувика), ты сможешь сам поместить его в текстовое поле или же загрузить одноименный клип. Иначе зачем это все. Последний раз редактировалось Что такое хорошо?; 29.07.2006 в 20:13. |
|
|||||
|
ясно
но кнопок таких много, скажем к примеру 100 не повторять же этот код 100 раз подряд как сделать так как писал sergMX, но если имена объектов будут иметь совершенно разные имена? Вот что получается: for (i=0; i<9; i++) {
this["item"+i].X = i;
this["item"+i].onRelease = function() {
state.text = this._name;
};
}
А вот если имена кнопок будут: green, red, small, big, square, rect... То как быть тут?
__________________
see you later |
|
|||||
|
т.е. как мне вписать сыбытие state.text = this._name; в onRelease чтоб всё работало, если имена кнопок имеют произвольные имена?
__________________
see you later Последний раз редактировалось xenOnn; 29.07.2006 в 21:10. |
|
|||||
|
Modus ponens
|
Цитата:
- внести все названия в массив и выбирать по индексу. - сделать вызываемую функцию методом мувиклипа\кнопки, зависит, что используется. - создать свой класс с набором нужных функций и использовать на месте кнопок\мувиков объекты своего класса. Последний - самый правильный и универсальный.
__________________
Hell is the possibility of sanity |
|
|||||
|
отлично, так я и думал
![]() дело в том что кнопок много, а событие хотелось бы иметь одно (для удобства) т.е. как мне записать событие onRelease, чтоб при нажатии любой кнопки запускался примерно такой код:
__________________
see you later |
|
|||||
|
Modus ponens
|
Код для флешки, создает инстанс кнопки вашего класса и текстовое поле, куда нужно выводить инфу о нажатой кнопке.
var _l1:MyBtn = new MyBtn("cust_btn", this);
_root.createTextField("state_txt", 100, 0, 0, 100, 20);
with(state_txt){
text = "status";
}
class MyBtn extends MovieClip {
public var ID:String = ""; //как будет называться наш инстанс
public var innerMC:MovieClip; //куда его ставить
private var inner_MC:MovieClip; //внутренняя переменная которая и содержит всю графику нашей "кнопки"
function MyBtn(ID:String, innerMC:MovieClip) {
inner_MC = innerMC.createEmptyMovieClip("clp"+ID, this.getNextHighestDepth());
inner_MC.beginFill(0x00ff00, 100); //пример програмного рисования - создания кнопки
inner_MC.moveTo(20, 20);
inner_MC.lineTo(20, 120);
inner_MC.lineTo(120, 120);
inner_MC.lineTo(120, 20);
inner_MC.lineTo(20, 20);
inner_MC.endFill();
inner_MC.ID = ID;
inner_MC.attachMovie(ID, ID+"_mc", this.getNextHighestDepth(), {_x:40, _y:40});//пример работы аттача
inner_MC.onRelease = function() {//собсна, нужная ф-ция
_root.state_txt.text = this.ID;
};
}
public function getID():String {
return ID;
}
public function setID(arg:String):Void {
ID = arg;
}
}
По сути делает то же самое что и аттачМуви, просто сразу же добавляет функцию в онРелиз...
__________________
Hell is the possibility of sanity Последний раз редактировалось wvxvw; 31.07.2006 в 08:11. |
|
|||||
|
Совершенно не разобрался в коде, но спасибо
![]()
__________________
see you later |
|
|||||
|
Modus ponens
|
http://www.newgrounds.com/bbs/topic.php?id=339781
^__тут можно почитать (английский вроде не сложный) CustBtn = new Object();
CustBtn.prototype = new MovieClip();
CustBtn.prototype.onRelease = function() {
_root._l2.text = this._name;
};
var _l1:MovieClip = _root.createEmptyMovieClip("test_mc", 0);
_l1.beginFill(0x00ff00, 100);
_l1.moveTo(20, 20);
_l1.lineTo(20, 120);
_l1.lineTo(120, 120);
_l1.lineTo(120, 20);
_l1.lineTo(20, 20);
_l1.endFill();
_l1.__proto__ = CustBtn.prototype;
var _l3:MovieClip = _root.createEmptyMovieClip("test1_mc", 20);
_l3.beginFill(0x00ffff, 100);
_l3.moveTo(170, 170);
_l3.lineTo(170, 270);
_l3.lineTo(270, 270);
_l3.lineTo(270, 170);
_l3.lineTo(170, 170);
_l3.endFill();
_l3.__proto__ = CustBtn.prototype;
var _l2:TextField = _root.createTextField("status_txt", 10, 300, 300, 200, 20);
with (status_txt) {
text = "status";
}
__________________
Hell is the possibility of sanity Последний раз редактировалось wvxvw; 31.07.2006 в 18:33. |
![]() |
![]() |
Часовой пояс GMT +4, время: 17:57. |
|
|
« Предыдущая тема | Следующая тема » |
|
|