Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Создать кнопки в цикле (http://www.flasher.ru/forum/showthread.php?t=84763)

NilovSerge 07.09.2006 14:19

Создать кнопки в цикле
 
Всем привет!
Мне надо создать кнопки в цикле Вызываю цикл для массива и передаю в функцию параметры очередной кнопки:

Код:

import mx.controls.Button;
var YearsArray= [ 2006, 2007, 2008 ]
var BtnHeight= 20, BtnWidth= 50
var L= YearsArray.length
var bnd = this.getBounds(); // размеры этого мувика

trace("L:::"+L)
yMax= bnd.yMax
xMax= bnd.xMax
var xCoor= 10
for (i=0; i< L; i++) {
  var yCoor= yMax-BtnHeight
  trace("I:::"+i+" y:"+yCoor+" x:"+xCoor)
  BtnName= "btn"+i
  CreateBtn( BtnName, YearsArray[i], xCoor, yCoor, BtnWidth, BtnHeight)
  xCoor= xCoor + BtnWidth+10
}

то есть я пытался динамически внизу муви создать несколько кнопок


Код:

function CreateBtn( BtnName, Year, xCoor, yCoor, BtnWidth, BtnHeight) {
  var Btn= createClassObject(Button,"Btn"+Year,0,{ label:Year, _x:xCoor, _y:yCoor, _width:BtnWidth, _height:BtnHeight });
  myListener = new Object();
  myListener.click = function() {
  trace("Listener:"+this.label)
};
Btn.addEventListener("click", myListener);
destroyObject(Btn);

}

В результате получается только ОДНА кнопка (последняя в цикле) Как это побороть и как по щелчку определить на какой именно

кнопке щелкнули?
И заодно подскажите:Мне надо сделать шкалу времени с возможностью менять шкалу отображение(только по годам, по годам и месяцам, по годам и месяцам и дням, по годам и месяцам и дням и часам ). При этом необходимо, нажав на одну кнопку(назад) переместиться на пол шкалы назад по текущей шкале, соответственно, на другую кнопку – вперед. И, желательно, переход вперед/назад делать с плавными переходами.
И выделив какой-то день/час вызвать свою функцию с выбранными датой/ременем.
Подскажите, где можно найти примеры как это сделано.
С уважением,
Нилов Сергей.

iNils 07.09.2006 14:24

Прочтите 3-ий пункт http://www.flasher.ru/forum/showthread.php?t=79862

Juice_Green 07.09.2006 14:50

одна кнопка - все они создаются в одном виртуальном слое вот здесь
Код:

var Btn= createClassObject(Button,"Btn"+Year,0,{ label:Year, _x:xCoor, _y:yCoor, _width:BtnWidth, _height:BtnHeight });


Часовой пояс GMT +4, время: 14:03.

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