Показать сообщение отдельно
Старый 16.12.2008, 15:52
nOobCrafter вне форума Посмотреть профиль Отправить личное сообщение для nOobCrafter Найти все сообщения от nOobCrafter
  № 11  
Ответить с цитированием
nOobCrafter

Регистрация: Nov 2008
Сообщений: 894
Записей в блоге: 1
Вот попробовал сделать по тем советам что получил. Вроде бы работает корректно, посмотрите пожлуйста все ли верно и может можно что нибудь оптимизировать. В частности использование аттачмуви вместо дубликейт.
Код AS1/AS2:
import mx.transitions.Tween;
import mx.transitions.easing.*;
// массив с данными
var my_array = ['Angelina Jolie', 'Charlize Theron', 'Памелла Андерсон', 'Бритни гг'];
var clip_array:Array = new Array();  // будущий массив кнопок
var total_j:Number;
var i:Number = 0;
var j:Number = 0;
var offset_j:Number = 0; 
but._visible = false;             // танец с бубном ;) Итак что же мы получаем, при дубликации обьекта, исходный то у нас тоже отображается, что не есть гут. Поэтому прячем его.
 
function whois(j){
	// обращение к данным из массива по ключу
	trace('Today I love ' + my_array[j]);	
}
function create_buttons(j)   // cсоздаем кнопки, не знаю как это назвать (j)
{
	clip_array[j] = but.duplicateMovieClip("but"+j, j);  // присваиваем массиву значения кнопок
		clip_array[j]._visible = true;   // танец с бубном часть 2 ;) А затем показываем уже дублицированный, конечно можно было аттачить, но я пока этим не пользуюсь.
		clip_array[j].onRelease = function() 
		{
			for ( i = j; i  < 4; i++) 
			{
			if(!this.flag){	
				var tween_1alphadown:Tween = new Tween(clip_array[i + 1], "_alpha", Strong.easeOut, 0, 100, 1, true);
				}
				 else{ 
				var tween_1alphaup:Tween = new Tween(clip_array[i + 1], "_alpha", Strong.easeOut, 0, 100, 1, true);
				}
				this.flag = !this.flag;
			}
		whois(this.mark);  // ваш пример
		}
		if (j>0) {  clip_array[j]._y = offset_j;      }     // расчитывем расстояние до след раздела
			else {	clip_array[j]._y = j * offset_j;  }
 
		offset_j = clip_array[j]._y + clip_array[j]._height + 5;   // 5 это межкнопочное расстояние
}
 
for( j = 0; j < 4; j++)
	{
		create_buttons(j) // сделал функцию как говорили
	}
На рабочем столе (имею в виду рабочий стол флеша, а не винды) есть прямоугольник под именем but и инстанс нейм тоже but/


Последний раз редактировалось nOobCrafter; 16.12.2008 в 16:23.