Показать сообщение отдельно
Старый 27.05.2008, 03:43
Denis Davidov вне форума Посмотреть профиль Отправить личное сообщение для Denis Davidov Найти все сообщения от Denis Davidov
  № 1  
Ответить с цитированием
Denis Davidov

Регистрация: Sep 2006
Сообщений: 89
По умолчанию плавный попиксельный скроллер текста c tween

Всем доброго времени суток.

Увидел хорошо реализованный скроллер текста http://www.nastuh.com/ (кнопка about). Бьюсь и не могу достичь такойже плавности...
Может кто подскажет как это делать?

Делаю это так
Код:
...
function onEnterFrame() {
    var dy=this.__mask_mc._height-this.__txt.textHeight;
    if ((dy<0)&&(__isScrolling==false)) {
	this.__isScrolling=true;
	var trgY=dy*_root._ymouse/Stage.height;
	this.__fuse = new com.mosesSupposes.fuse.Fuse();			
	this.__fuse.autoClear = true;
	this.__fuse.push({target: this.__txt_mc, y: trgY, seconds: 3 , ease: "easeInExpo",func: this.endScroll, scope: this});
	this.__fuse.start();			
   }
}
...
endScroll ставит переменную __isScrolling в false.

Прикол в том что если цепляться за координаты мыши без tween-ов, то будет резко, а если делать с tween-ами координат, то опять-же будет резко ибо надо дождаться пока текущий твин выполниться...

Не могу догодаться, как это делать плавно... Возможно через mx.utilities.tween это как-то легче решается, не знаю, не пользовался им...

Спасибо.


EDIT:

Сделал, так
Код:
function onMouseMove() {
        var dy=this.__mask_mc._height-this.__txt.textHeight;
        if (dy<0) {
	     this.__trgY=dy*_root._ymouse/Stage.height;
	     this.onEnterFrame = function () {
		 this.__txt_mc._y = Math.ceil(this.__txt_mc._y +(this.__trgY - this.__txt_mc._y)/4);
		 this.__txt_mc._y == this.__trgY ? delete this.onEnterFrame : null;
	     }			
	}
}
Но вот проблема -- МЕРЦАЕТ ЭКРАН. (светло-серый текст на черном фоне под маской). Может кто сталкивался с этим?...
Некоторые строчки даже подпрыгивают/дергаются чуток....
Может быть нужно перевести текст в кривые?


Последний раз редактировалось Denis Davidov; 30.05.2008 в 18:27.