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

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

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

Регистрация: Mar 2009
Сообщений: 105
По умолчанию Самопроизвольное замедление клипа

Добрый день!

Делаю перемещие программно созданного клипа (к котором находиться много текстовых полей)

Код AS1/AS2:
function goNext(container:MovieClip) {
	container.onEnterFrame = function() {
 
		if (container.container0._y>-container.container0._height) {
			container.container0._y -= 1;
		} else {
			delete container.onEnterFrame;
			container.container0._y = container.container0.dy;
			goNext(container);
		}
	};
}
первые несколько секунд все идет как надо.
А потом вдруг движение замедляется в 1,5-2 раза.
А под конец (последние несколько секунд) опять движется как надо.

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

Спасибо!

Старый 14.06.2009, 20:06
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 2  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Вот это для чего у вас?
Код AS1/AS2:
goNext(container);

Старый 14.06.2009, 22:14
zelik вне форума Посмотреть профиль Отправить личное сообщение для zelik Найти все сообщения от zelik
  № 3  
Ответить с цитированием
zelik

Регистрация: Mar 2009
Сообщений: 105
это, чтобы сделать рекурсию. Но, честно говоря, и без этого притормаживает...

Старый 14.06.2009, 23:50
Алиль вне форума Посмотреть профиль Отправить личное сообщение для Алиль Посетить домашнюю страницу Алиль Найти все сообщения от Алиль
  № 4  
Ответить с цитированием
Алиль
 
Аватар для Алиль

Регистрация: Mar 2009
Адрес: 173,0
Сообщений: 376
Может в знаках дело?

Старый 14.06.2009, 23:52
zelik вне форума Посмотреть профиль Отправить личное сообщение для zelik Найти все сообщения от zelik
  № 5  
Ответить с цитированием
zelik

Регистрация: Mar 2009
Сообщений: 105
в каких знаках? поясните, пожалуйста!

Старый 15.06.2009, 00:40
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 6  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Перепишите функцию - уберите рекурсию, поставьте вместо EnterFrame интервальную функцию...

Старый 15.06.2009, 00:54
zelik вне форума Посмотреть профиль Отправить личное сообщение для zelik Найти все сообщения от zelik
  № 7  
Ответить с цитированием
zelik

Регистрация: Mar 2009
Сообщений: 105
Вы это имеете ввиду?

Код AS1/AS2:
var interv:Number;
interv = setInterval(this,"go",50,Big_Text);
 
function go(container:MovieClip) {
 
	if (container.container0._y>-container.container0._height) {
		container.container0._y -= 1;
	} else {
		clearInterval(interv);
	}
}
Результат тот же...

После тестирования заметил, что торможение начинается, если в клипе многовато текстовых полей (более 300 TextField)


Последний раз редактировалось zelik; 15.06.2009 в 01:02.
Старый 15.06.2009, 01:02
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 8  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Что-то у вас их действительно "многовато"...

Старый 15.06.2009, 01:04
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 9  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
textField.cacheAsBitmap
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

Старый 15.06.2009, 01:12
zelik вне форума Посмотреть профиль Отправить личное сообщение для zelik Найти все сообщения от zelik
  № 10  
Ответить с цитированием
zelik

Регистрация: Mar 2009
Сообщений: 105
Супер! То, что нужно! Большое спасибо!!!

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

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

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


 


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


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