Показать сообщение отдельно
Старый 15.12.2007, 18:58
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Даже не знаю.... очень много всего нужно переделывать...
Зачем такое количество твинов? Да еще и не удаляющихся... плеер по-идее должен скончаться после эдак 10-20 минут работы такого меню.
Код:
Tween(info1, "_x", Back.easeOut, 1100, 1100, 1, true);
4-й аргумент - исходная позиция, 5-й конечная. Какой смысл создавать твин и не создавать анимацию? В смысле, движения-то все равно никакого не будет...
ща попробую сделать простенький пример с похожей логикой...
Код:
import mx.transitions.Tween;
import mx.transitions.easing.*;
//
var select:Number;
var clips:Array = [];
var __tw:Tween = new Tween({i:0},"i",Back.easeOut, 0, 100, 1, true);
__tw.stop();
__tw.addListener(this);
onMotionChanged = function():Void {
	for(var q:Number=0;q<clips.length;q++){
		if(clips[q].__id != select){
			if(clips[q]._lastPos == undefined){
				clips[q]._lastPos = clips[q]._x;
			}
			if(clips[q]._x == 0){
				delete clips[q]._lastPos;
			}
			clips[q]._x = clips[q]._lastPos-clips[q]._lastPos*__tw.obj.i/100;
		} else {
			clips[q]._x = __tw.obj.i;
		}
	}
}
onMotionFinished = function(){
	for(var q:Number=0;q<clips.length;q++){
		delete clips[q]._lastPos;
	}
}
onMotionStarted = function(){
	for(var q:Number=0;q<clips.length;q++){
		delete clips[q]._lastPos;
	}
}
for(var q:Number=0;q<5;q++){
	var mc:MovieClip = rct(this,100,20,Math.random()*0xffffff,100);
	mc._y = q*21;
	mc.__id = q;
	mc.onRelease = function():Void {
		_root.select = this.__id;
		_root.onMotionStarted();
		_root.__tw.start();
	}
	clips.push(mc);
}
function rct(mc:MovieClip,w:Number,h:Number,c:Number,a:Number):MovieClip{
	var _mc:MovieClip = mc.createEmptyMovieClip("rct"+mc.getNextHighestDepth(),mc.getNextHighestDepth());
	_mc.beginFill(c,a);
	_mc.moveTo(0,0);
	_mc.lineTo(w,0);
	_mc.lineTo(w,h);
	_mc.lineTo(0,h);
	_mc.lineTo(0,0);
	_mc.endFill();
	return _mc;
}
Ну, может красотой хорошего стиля не блещет, но все приятнее будет.
__________________
Hell is the possibility of sanity


Последний раз редактировалось wvxvw; 15.12.2007 в 21:18.