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

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

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

Регистрация: Jul 2005
Сообщений: 63
По умолчанию при random скорости - движение рывками

Доброго времени суток!
столкнулся вот с какой проблемой...
кусок кода, который отвечает за рэндомное движение объектов класса stars:

Код:
muv = [5, 10, 15];
stars.onEnterFrame = function() {
            this._x += muv [random(3)];
}
при запуске объекты двигаются рывками, никак не могу добиться равномерного движения, рэндомно выбранного из предназначенного для этого массива. здесь же, на форуме прочел, что random - уже устаревший способ, но вот как корректно в этом случае использовать Math.random() понять никак не могу. может, проблема в том, что оно загнано в onEnterFrame? интернет и форум обшарил. буду благодарен за любую помощь, можно ссылку, где можно об этом почитать. может, что-то полезное пропустил...

Старый 23.04.2008, 02:27
Forcasigun вне форума Посмотреть профиль Отправить личное сообщение для Forcasigun Найти все сообщения от Forcasigun
  № 2  
Ответить с цитированием
Forcasigun
 
Аватар для Forcasigun

Регистрация: Feb 2008
Сообщений: 37
Цитата:
может, проблема в том, что оно загнано в onEnterFrame?
нет... проблема в том что и random и Math.random делают дискретную выборку чисел.. а как мы помним из математики скорость описывается непрерывными выличинами...

поэтому на мой взгляд самое простое будет вручную создавать Twin-motion'ы...
либо если программно.... то надо перемещать объект через параметр скорости... который можно задать математическим маятником например... а что бы не слишком симетричные колебания скорости были задать амплитуду через Math.random.....

седня поздновато... меня зацепило)) завтра что нибудь попробую...

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

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Код:
var arraySpeed:Array = [5, 10, 15];
var speed:Number = arraySpeed[Math.floor (Math.random () * 3)];
stars.onEnterFrame = function () {
	this._x += speed;
};
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 23.04.2008, 02:45
be_tween вне форума Посмотреть профиль Отправить личное сообщение для be_tween Найти все сообщения от be_tween
  № 4  
Ответить с цитированием
be_tween

Регистрация: Jul 2005
Сообщений: 63
спасибо за ваши ответы!

iNils - все отлично заработало, спасибо!) главное, что теперь и суть уловил...
Forcasigun, колебания скорости - имеешь в виду, чтобы по ходу движения она плавно изменялась? конкретно для моей проблемы это не было нужно - требовалось, чтобы параметр скорости выбрался случайно и оставался постоянным до следующего запроса... кстати, посмотрел ссылку - полезный ресурс. как раз искал что-то наподобие такого, чтобы все эти вещи конспективно имелись. жалею, что личные когда-то утилизировал))


Последний раз редактировалось be_tween; 23.04.2008 в 02:56.
Создать новую тему Ответ Часовой пояс GMT +4, время: 18:00.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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