Flash | Флеш > Flash для Начинающих, Flash Статьи, Работа с Action Script > Action Script: Генератор случайных чисел Math.random. Уроки Action Script 2.0. Adobe Flash CS3.

Action Script: Генератор случайных чисел Math.random. Уроки Action Script 2.0. Adobe Flash CS3.


8 октября 2008. Разместил: vitkuz
Ликбез про генератор
случайных чисел - Math.random()
в Adobe Flash

Очень часто в программе Adobe Flash требуется создать какой-нибудь случайный (хаотический) эффект. Основным средство для создания таких вот случайных (хаотических) эффектов в actionscript является генератор случайных чисел – Math.random(). В этой статье я подробно расскажу вам, что это такое и с чем его едят…
Начнем с простого и плавно будем наращивать сложность.
1
Итак, допустим мы хотим присвоить некой переменной X некое случайное число в пределах от 0 до 1 (0;1).
Для этого в Adobe Flash откроем панель Действий (Action) и введем:
X = Math.random();
trace(X);
При выполнении этого простого action скрипта, метод Math.Random() сгенерирует нам случайное число в пределах от 0 до 1 (0;1), присвоит его переменной X и затем выведет переменную X в окне вывода.

ВАЖНОЕ ПРИМЕЧАНИЕ!
Math.Random() сгенерирует нам случайное число в пределах от 0 до 1 (0;1). Причем чистого 0(нуля) и чистой 1(единицы) никогда не получиться! С течением времени случайные числа будут все ближе и ближе к 0(нулю) и 1(единице), но никогда не будут равны им.
Чтобы убедиться в этом воочию смотрите динамическую flash модель!!!

2
Но что если нам нужно расширить область генерации случайных чисел?
Допустим, нам нужны два случайных числа от 0 до 100 (0;100) и от -100 до 0 (-100;0).
Что бы сгенерировать их снова воспользуемся методом Math.random только с некоторыми доработками.
Для этого откроем панель Действий(Action) и введем:
X = Math.random()*100;
trace(X);
Y = Math.random()*(-100);
trace(Y);
Этот action скрипт сгенерирует нам два числа: одно будет в диапазоне - (0;100); другое соответственно - (-100;0)
Таким образом, умножая, мы расширяем границы генерации до нужного нам значения.
3
Но что если нам нужно захватить и отрицательные числа и положительные?
Например, нам нужно сгенерировать случайное число в пределах от -100 до 100 (-100;100).
Для этого откроем панель Действий(Action) и введем:
X = Math.random()*200 – 100;
trace(X);
В данном случае сначала Math.random()*200 генерируем случайное число от 0 до 200 (0;200), а затем, отнимая 100, мы сдвигаем полученные весь диапазон влево на 100, тем самым получая диапазон не от 0 до 200 (0;200), а от -100 до 100 (-100;100).
Заметьте что (-100;100) - это симметричный относительно нуля диапазон.
4
Теперь давайте разберем важный и практический вопрос, как сгенерировать случайное число в заданном (не симметричных относительно нуля!) диапазоне.
Например, нам нужно сгенерировать случайное число исключительно в диапазоне от -207 до 1004 (-207;1004).
Для этого:
X = Math.random()*(207+1004) – 207;
trace(X);
Заделаем эту формулу универсальной:
X = Math.random()*(|a|+b) –| a|, где
a – левая граница по модулю, b – правая граница
Запомните эту формулу! Честно, она вам еще пригодиться не один раз! К тому же она очень простая.
5
Ну и последнее…
Как сделать так, чтобы генератор случайных чисел Math.random() генерировал целые числа, например, от 0 до 7?
Все просто, достаточно в панели Действий(Action) написать:
X = Math.random(8)
trace(X);
В этом случае Math.random сгенерирует целое число из значений 0, 1, 2, 3, 4, 5, 6, 7.
Заключение
Ну, вот и все о генераторе случайных чисел Math.random smile Штука эта очень полезная и знать о ней, а тем более применять должен каждый начинающий флешер!
Для вас писал и старался Виталий К. под музыку Red Hot Chili Peppers
Flash примеры
Вот вам маленький и креативный пример по использованию генератора случайных чисел в Adobe Flash - "Креативное Рисование"


Скачать
Скачать pdf версию обучабщей статьи:
random_gen.rar [496.51 Kb] (cкачиваний: 101)
Скачать fla исходник примера:
creative_random_drawing.rar [4.42 Kb] (cкачиваний: 92)