![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Mar 2010
Сообщений: 14
|
Здравствуйте, подскажите, как решить следующую задачу более корректно.
Хочу создать несколько кнопок в ряд посредством одной функции. function buttons() { var i:Number; i = 1; this.createEmptyMovieClip(["movieclip"+i],this.getNextHighestDepth()); ["movieclip"+nomerkn]createTextField(["textfield"+i],this.getNextHighestDepth(),0,0,50,50); ["movieclip"+i]["textfield"+i]text="Simple text"; trace (["movieclip"+i]["textfield"+i].text); } buttons(); |
|
|||||
|
Регистрация: Jan 2006
Адрес: Novosibirsk
Сообщений: 353
|
|
|
|||||
|
Регистрация: Mar 2010
Сообщений: 14
|
NoCD, спасибо.
А как сделать, чтобы вызывалась функция buttons(20) - т.е. создание 20 кнопок? Каждая кнопка создаётся на 20px правее. Прости, за кривой код. Хотел смысл донести. var a:Number; function buttons(i) { for (a=1;a<=i;a++){ ["cont_c"+a] = this.createEmptyMovieClip(["movieclip"+a],this.getNextHighestDepth()); ["movieclip"+a]._x += 20; textfield+a = cont_c+i.createTextField(["textfield"+a],this.getNextHighestDepth(),0,0,50,50); textfield+a.text="Simple text"; trace (textfield+a.text); } } buttons(20); |
|
|||||
|
Регистрация: Jan 2006
Адрес: Novosibirsk
Сообщений: 353
|
function buttons(num) { var i:Number; i = 1; for(var i = 0;i<=num;i++){ var cont_c = this.createEmptyMovieClip(["movieclip"+i],this.getNextHighestDepth()); var x = 35 * i; var name = "but_"+i; var clip = cont_c.attachMovie("mc",name,cont_c.getNextHighestDepth()) clip._x = x; clip.ind = i; var textfield = cont_c.createTextField(["textfield"+i],this.getNextHighestDepth(),x,0,50,50); textfield.text=i; textfield.selectable = false clip.onPress = but_f; trace (textfield.text); } } function but_f(){ trace(this.ind) } buttons(20); |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
В createEmptyMovieClip() не мешало бы еще все-таки строку передавать в качестве имени клипа, а не массив.
|
|
|||||
|
Регистрация: Mar 2010
Сообщений: 14
|
NoCD, хотел бы уточнить, как назначить на каждую кнопку следующую функцию:
В качестве i в функцию myfunction передаётся номер этой кнопки. |
|
|||||
|
Регистрация: Jan 2006
Адрес: Novosibirsk
Сообщений: 353
|
Цитата:
У тебя есть несколько функций и ты бы хотел для каждой кнопки присвоить свою функцию? Цитата:
Это что бы автор понял, как будет работать код в его представлениях. Последний раз редактировалось NoCD; 23.03.2010 в 15:59. |
|
|||||
|
Регистрация: Mar 2010
Сообщений: 14
|
При нажатии на каждую кнопку вызывается одна и та же функция, только с разными параметрами. Т.е. для кнопки "1" вызывается
При нажатии на кнопку "2" вызывается Я бы хотел так сделать. |
|
|||||
|
Регистрация: Jan 2006
Адрес: Novosibirsk
Сообщений: 353
|
var butArray = [1,2,3,4,5,2,0,3,5,1,2,3,4,1,5]; function buttons(array) { //var i:Number; //i = 1; var f:Number; var length:Number = array.length - 1; for(var i = 0;i<=length;i++){ var name1 = "movieclip"+i; var name2 = "textfield"+i; f = array[i]; var cont_c = this.createEmptyMovieClip(name1,this.getNextHighestDepth()); var x = 35 * i; var name3 = "but_"+i; var clip = cont_c.attachMovie("mc",name3,cont_c.getNextHighestDepth()) clip._x = x; clip.ind = i; var textfield = cont_c.createTextField(name2,this.getNextHighestDepth(),x,0,50,50); textfield.text=i; textfield.selectable = false clip.onPress = _root["but"+f+"_f"]; trace (textfield.text); } } function but0_f(){ trace("Функция 0") trace(this.ind) } function but1_f(){ trace("Функция 1") trace(this.ind) } function but2_f(){ trace("Функция 2") trace(this.ind) } function but3_f(){ trace("Функция 3") trace(this.ind) } function but4_f(){ trace("Функция 4") trace(this.ind) } function but5_f(){ trace("Функция 5") trace(this.ind) } buttons(butArray); зачем setInterval ? Ты хочешь вызывать в одной функции функцию myfunction() с разными параметрами и что бы она периодически повторяла свой вызов? Последний раз редактировалось NoCD; 23.03.2010 в 16:22. |
|
|||||
|
Регистрация: Mar 2010
Сообщений: 14
|
Дело в том, что я сейчас пытаюсь сделать фотоальбом.
И там функция myfunction() отвечает за смену фотографий. Она у меня вызывается каждые 4,5 секунды функцией setInterval(myfunction(i), 4500); И я хочу, чтобы при нажатии на кнопку открывалась другая фотография и продолжилась смена, а для этого мне нужно сначала остановить вызов функции, затем запустить её же, но с другой фотографией (параметр i): |
![]() |
![]() |
Часовой пояс GMT +4, время: 22:02. |
|
|
« Предыдущая тема | Следующая тема » |
|
|