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

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

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

Регистрация: Oct 2003
Адрес: Москва
Сообщений: 2,736
Отправить сообщение для Король с помощью ICQ
согласен полностью

Старый 17.06.2005, 21:01
50%LameRa вне форума Посмотреть профиль Отправить личное сообщение для 50%LameRa Найти все сообщения от 50%LameRa
  № 2  
Ответить с цитированием
50%LameRa
 
Аватар для 50%LameRa

Регистрация: Jun 2005
Адрес: Н.Новгород
Сообщений: 107
Так все таки если для задачи все равно, что юзать onenterframe или setinterval?

Старый 17.06.2005, 21:09
Ostgur вне форума Посмотреть профиль Отправить личное сообщение для Ostgur Посетить домашнюю страницу Ostgur Найти все сообщения от Ostgur
  № 3  
Ответить с цитированием
Ostgur
 
Аватар для Ostgur

Регистрация: Apr 2004
Адрес: macromedia—adobe Любит: Flash MX
Сообщений: 2,860
Цитата:
Сообщение от 50%LameRa
Так все таки если для задачи все равно, что юзать onenterframe или setinterval?
Если ты помимо onenterframe или setinterval не будешь юзать другой сложной анимации или кода, то всё равно!

Старый 18.06.2005, 17:07
artfla$her вне форума Посмотреть профиль Отправить личное сообщение для artfla$her Найти все сообщения от artfla$her
  № 4  
Ответить с цитированием
artfla$her
 
Аватар для artfla$her

Регистрация: Apr 2004
Адрес: Петербург
Сообщений: 549
Отправить сообщение для artfla$her с помощью ICQ
Интервал(ы) удобно использовать тогда, когда необходим точный просчет изменений положения объекта. Например, в играх. Представим такую ситуацию - вылетает пуля, и она, врезавшись в тот или иной предмет, должна исчезнуть. Пуля, понятное дело, летит быстро. Как проверять совпадение и двигать пулю? Вариант 1. Юзать onEnterFrame. В этом случае у нас может возникнуть ситуация, когда смещение пули будет превышать хотя бы 10 пикселов - возможна такая фигня - пулька пролетит "насквозь" объекта, чья толщина менее 10 пикселов. Вариант 2. Юзать интервал (очень быстрый интервал, этак 1-10 миллисекунд) и большой fps. Тогда можно просчитывать совпадения каждые 1-10 миллисекунд и двигать пулю не более чем на пиксел-другой. Но в этом случае более чем два-три таких интервала установить будет нелегко, т.к. проц загружается жестко (при оптимизации других вещей, того же выявления совпадений с помощью раздления экрана на локации).
__________________
За двумя зайцами погонишься - от егеря по морде получишь

Старый 18.06.2005, 17:54
Король вне форума Посмотреть профиль Отправить личное сообщение для Король Найти все сообщения от Король
  № 5  
Ответить с цитированием
Король
 
Аватар для Король

Регистрация: Oct 2003
Адрес: Москва
Сообщений: 2,736
Отправить сообщение для Король с помощью ICQ
а можно просто в момент пуска пули просчитать, врежется она во что-то или нет. и когда. но такой вариант мало где подойдет, поскольку всю игру нужно будет строить совсем по другим принципам.

Старый 18.06.2005, 22:00
50%LameRa вне форума Посмотреть профиль Отправить личное сообщение для 50%LameRa Найти все сообщения от 50%LameRa
  № 6  
Ответить с цитированием
50%LameRa
 
Аватар для 50%LameRa

Регистрация: Jun 2005
Адрес: Н.Новгород
Сообщений: 107
Ну если интервалы от fps не зависят, тогда все понятно.
Всем спасибо.

Старый 19.06.2005, 00:27
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 7  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Цитата:
Сообщение от 50%LameRa
Ну если интервалы от fps не зависят, тогда все понятно.
Всем спасибо.
Ну не совсе так
Только что провел тест на FLASH MX, 2004 под рукой не было, поэтому не могу сказать как он справится моим тестом (кому не лень, повторите на 2004 и скажите результат).

Итак, берем следующих код:
Код:
u = function () {
	cx++;
	if (cx == 20) {
		clearInterval (id);
		for (i = 1; i < arrayID.length; i++) {
			trace (arrayID[i] - arrayID[i - 1]);
		}
	}
	arrayID[arrayID.length] = getTimer ();
};
cx = 0;
arrayID = new Array ();
id = setInterval (u, 100);
Ставим fps = 5
Результат:138,102,100,102,118,100,100,100,100,100,100,100,100,100,100,100,100,100
в начале завал, но потом все верно

fps=6
108,109,113,112,111,113,112,111,113,112,113,111,111,113,112,111,113,112
погрешность в 11-12%, не очень хорошо

fps=7
109,107,111,112,112,112,112,112,112,112,112,112,111,113,112,111,113,112
тоже самое

а теперь поставте fps 11 или 12
164,172,175,177,176,176,176,176,176,176,176,176,178,174,176,176,176,176
?????
__________________
(и)Нильс.ru | Плагины для FlashDevelop


Последний раз редактировалось iNils; 28.01.2008 в 06:01.
Старый 20.06.2005, 14:59
gaploid вне форума Посмотреть профиль Отправить личное сообщение для gaploid Найти все сообщения от gaploid
  № 8  
Ответить с цитированием
gaploid

Регистрация: May 2003
Сообщений: 56
погоди. а у тебя stop() перед эти кодом не стоит? потому что может быть оно зациклилось? и обьявление функции идет каждый раз и поэтому когда увилеичил фпс то кол-во декларирований увеличилос или я чего то путаю

Старый 20.06.2005, 15:27
gaploid вне форума Посмотреть профиль Отправить личное сообщение для gaploid Найти все сообщения от gaploid
  № 9  
Ответить с цитированием
gaploid

Регистрация: May 2003
Сообщений: 56
код пришлось чуть чуть подправить для AS2
cx=0
u = function () {
_root.cx++;
if (_root.cx == 20) {
clearInterval (id);
for (i = 1; i < arrayID.length; i++) {
trace (arrayID[i] - arrayID[i - 1]);
}
}
arrayID[arrayID.length] = getTimer ();

};
arrayID = new Array ();
id = setInterval (u, 100);

результаты и правда чет рознятся
На 20 фпсах
105,100,101,106,104,104,101,104,101,104,101,104,101,104,100,101,104,101

на 5 фпс
101,120,120,119,101,120,120,119,101,120,120,119,100,100,101,120,119,101

На 11 фпс
180,180,180,180,180,180,180,180,180,181,188,180,180,180,180,180,180,180

Заметил что самые точные интервалы при фпс кратные 60. Помойму этот баг обсуждался в флешрипере, связанно с округлением.

Старый 17.06.2005, 20:32
Ostgur вне форума Посмотреть профиль Отправить личное сообщение для Ostgur Посетить домашнюю страницу Ostgur Найти все сообщения от Ostgur
  № 10  
Ответить с цитированием
Ostgur
 
Аватар для Ostgur

Регистрация: Apr 2004
Адрес: macromedia—adobe Любит: Flash MX
Сообщений: 2,860
2 D12:
Сжатая_ZIP_Папка рулит, привет, за что у тебя плюсики то опять?

А вообще я люблю onEnterFrame, потому что я тупой и альтернативных путей не знаю!!!

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

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

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


 


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


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