Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 31.01.2008, 19:47
Niall86 вне форума Посмотреть профиль Отправить личное сообщение для Niall86 Найти все сообщения от Niall86
  № 1  
Ответить с цитированием
Niall86
 
Аватар для Niall86

Регистрация: Jan 2008
Сообщений: 7
Question Бегущая срока - быстродействие

День добрый.
Передо мной была поставлена задача написать бегущую строку на 400 символов, так чтобы текст бежал не по прямой, а под переменным наклоном. Полазив по инету, в том числе по этому форуму, я сваял то, что представленно ниже.
Но есть одно "но" - в результате этот ролик грузит 60% процессора (AMD Athlon 2500).

Посоветуйте пожалуйста что можно сделать, чтобы снизить нагрузку!

Код:
stop();
dx=3;//шаг дискретизации.. сдвига текста
Text = "Добро пожаловать! Вы находитесь на Web-сайте бла бла бла. Передо мной была поставлена задача написать бегущую строку на 400 символов, так чтобы текст бежал не по прямой, а под переменным наклоном. Полазив по инету, в том числе по этому форуму, я сваял то, что представленно ниже. Но есть одно "но" - в результате этот ролик грузит 60% процессора (AMD Athlon 2500).";
//разбиваем строку на буковки
for (var i = 0; i<Text.length; i++) {
	this.createTextField("txt"+i, this.getNextHighestDepth(), 20*i+440, 30, 0, 0);
	this["txt"+i].autoSize="center";
	this["txt"+i].embedFonts = true;
	this["txt"+i].text = Text.substr(i, 1);
	this["txt"+i].textColor=0x717776;//серый
	this["txt"+i]._alpha=1;//текст возникает не резко, а постепенно буквы становятся все ярче
}
//запоминаем масштаб, потому что он будет меняться
Xscale = this["txt"+1]._xscale;
Yscale = this["txt"+1]._yscale;

onEnterFrame = function () {
		for (var i = 0; i<Text.length; i++) {
		this["txt"+i]._x -= dx;//текст бежит справа налево
		//участок слева, "последняя миля".
		if (this["txt"+i]._x > -20 && this["txt"+i]._x < 233){
			this["txt"+i]._y += dx*0.2;
			this["txt"+i]._rotation =-7.5; 
			this["txt"+i]._yscale = this["txt"+i]._yscale/1.00175;
			this["txt"+i]._xscale = this["txt"+i]._xscale/1.00175;
		}
		//участок справа
		if (this["txt"+i]._x > 233 && this["txt"+i]._x < 437){
			if (this["txt"+i]._x < 437){
				this["txt"+i]._alpha+=3;
			}
			this["txt"+i]._y += dx*0.05;
			this["txt"+i]._rotation = -3;
			this["txt"+i]._yscale = this["txt"+i]._yscale/1.000477;
			this["txt"+i]._xscale = this["txt"+i]._xscale/1.000477;
		}
		//после того, как строка пробежала - вертаем ее на исходную
		if (this["txt"+i]._x < -20){
			this["txt"+i]._x = 20*Text.length+437;
			this["txt"+i]._y = 30;
			this["txt"+i]._yscale = Yscale;
			this["txt"+i]._xscale = Xscale;
			this["txt"+i]._alpha=5;
		}
		this["txt"+i].setTextFormat(new TextFormat("ar_font",20));
		}
};
P.S. Эта же флэшка на 50 символов грузит проц на 10-20%
Вложения
Тип файла: rar Untitled-1.rar (85.6 Кб, 74 просмотров)

Создать новую тему   Часовой пояс GMT +4, время: 22:10.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 22:10.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.