Показать сообщение отдельно
Старый 15.07.2007, 19:17
Kikasso вне форума Посмотреть профиль Отправить личное сообщение для Kikasso Найти все сообщения от Kikasso
  № 15  
Ответить с цитированием
Kikasso
 
Аватар для Kikasso

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
вот примерно так:
Есди твин есть, используем его, если нет, создаем новый, по завершении работы он самоудалится.
Код:
import mx.transitions.*

var inDur = 20;
var outDur = 15;
var pressDur = 5;
var defaultAlpha=40;
var pressAlpha = 60;

function fadeTo( val, dur ){
  if( !this._t_  ){ // если твина нет
    //trace('new');
    this._t_ = new Tween(this,"_alpha",null,this._alpha, val, dur);
    // по окончании твина удалим и ссылку   
    this._t_.onMotionFinished = function(){ delete this.obj._t_; };
  }else{
    //trace('old');
    this._t_.continueTo( val, dur);
  }
}
function fadeIn(){
  fadeTo.apply(this,[ 100, inDur ]);
}
function fadeOut(){
  fadeTo.apply(this,[ defaultAlpha, outDur ]);
}
function fadePress(){
  fadeTo.apply(this,[ pressAlpha, pressDur ]);	
}
/////// нарисуем квадратики //////////////
mc1 = createRect('mc1', 10 );
mc2 = createRect('mc2', 110 );
mc3 = createRect('mc2', 210 );
/////// и запрограммируем их //////////////
mc1._alpha = mc2._alpha = mc3._alpha = defaultAlpha;
mc1.onRollOver = mc2.onRollOver = mc3.onRollOver = fadeIn;
mc1.onRollOut = mc2.onRollOut = mc3.onRollOut = fadeOut;
mc1.onDragOut = mc2.onDragOut = mc3.onDragOut = fadeOut;
mc1.onPress = mc2.onPress = mc3.onPress = fadePress;
mc1.onRelease = mc2.onRelease = mc3.onRelease = function(){
  fadeIn.apply(this);
  trace( 'кнопка '+ this._name + ' нажата');
}
//////////////////////////////////////////
// Это функция рисующая "квадратик"
function createRect(id, x){
	var mc = createEmptyMovieClip(id, getNextHighestDepth());
	with(mc){
		beginFill(0, 100);
		lineTo(90,0); lineTo(90,30); lineTo(0,30); lineTo(0,0);
		endFill();
		}
	mc._x = x;
	return mc;
}
ps - silin, a у вас там _alpha стояла в твине, а надо было this._alpha.
pps - в классе, конечно, такое удобнее. А в кадрах и без твинов можно обойтись..


Последний раз редактировалось Kikasso; 15.07.2007 в 19:51.