Показать сообщение отдельно
Старый 21.10.2014, 13:40
Маруська вне форума Посмотреть профиль Отправить личное сообщение для Маруська Найти все сообщения от Маруська
  № 1  
Ответить с цитированием
Маруська

Регистрация: Feb 2012
Сообщений: 205
The bomb! плавная анимация скриптом

написала скрипт и он хорошо работает. вот только не хватает анимаций. Пыталась вставить скрипт on EnterFrame для плавного появления и исчезновения slide'ов, но отчего-то _alpha для элементов массива v[kv] на выводе даёт undefined,так же как и _х и _y. Помогите написать конкретный скрипт, пожалуйста. в коде помечено комментариями, что я собственно хочу
Код AS1/AS2:
n = 8;
kv = 1;
game = this;
setTimeout(go,10);
rest=1;
import mx.transitions.Tween;
 
function go()
{
	//stop();
	var v:Array = new Array(n);
	var slideretrycount:Number = 1;
	for (i = 1; i <= n; i++)
	{
		v[i] = "slide" + i;
	}
 
	for (i = 1; i <= n; i++)
	{		
		game['bt' + i].onRollOver = function()
		{
			if (kv != substring(this._name, 3, -1))
			{	game['bt'+kv].gotoAndStop(1);
				this.gotoAndStop(2);
				rest=substring(this._name, 3, -1)-kv;
				if (rest<=0){/*v[kv] плавная прозрачность с движением вверх*/}
				if (rest>=0){/*v[kv] плавная прозрачность с движением вниз*/}
				deleteslide()
				kv = substring(this._name, 3, -1);
				addslide();
				setY();
			}
		};
		game['bt' + i].onRollOut = function()
		{
			if (kv != substring(this._name, 3, -1))
			{
				this.gotoAndStop(1);
			}
		};
	}
	function addslide()
	{
		attachMovie(v[kv],v[kv],kv);
		setProperty(v[kv], _x, 30);
		setProperty(v[kv], _y, 40);
		setProperty(v[kv], _alpha, 100);
		if (rest<=0){/*v[kv] плавное появление с движением вверх*/}
		if (rest>=0){/*v[kv] плавное появление с движением вниз*/}
	}
	function deleteslide()
	{ 	m = v[kv];
	   removeMovieClip(m);
	}
 
	function setY() 
	{pos=1;	
	for (k = kv; k <= n; k++){pos++;game['bt'+k]._y=120+pos*3;}
	 pos=1;
		for (k = kv; k >= 1; k--){pos++;game['bt'+k]._y=120+pos*3}
	}
 
	addslide();
	setY();
}