![]() |
Случайные координаты движения автофигуры
Добрый день.
Помогите с решением. Есть скрипт программно создающий и двигающий фигуру - по определенным координатам. Но эти координаты жестко определены. Как заставить координаты - определяться случайным образом (чтобы при каждом запуске файла - движение фигуры было непохоже на предыдущее) ? Код AS3:
|
А почему бы на сделать напрямую через добавление нового метода, куда на входе можно передавать нужное количество точек, а на выходе получать массив из случайно сгенерированных через math.random координат в нужном количестве? А потом из полученного таким образом массива "набивать" попарно координаты точек.
|
Код AS3:
|
ZackMercury, понятно.
Спасибо, что разъяснили. |
Понял, ща разъясню.
Math.random() возвращает случайное число от 0 до 1. Как мы знаем из математики, 0.999 * какое-то число - это 999 / 1000 часть этого числа, а 1 * какое-то число = само число. То же будет с 0.459, или с 0.790, все они при умножении будут давать какую-то часть числа. Это я к тому, что чтобы получить случайное число в диапазоне от 0 до какого-то числа, нужно умножить число от 0 до 1 на это самое число. Далее, на самом деле числа, получаемые случайным образом имеют много символов после точки: Код:
0.51246123...Код:
51.246123...Код AS3:
Как же нам найти число в диапазоне? Никак, за вас это не написано. Мы просто прибавляем какое-то число к итоговому числу: Код AS3:
Как получить размер видимой области флеша, чтобы умножить ширину и высоту на случайное число от 0 до 1? Для этого используется stage.stageWidth, stage.stageHeight. Код AS3:
Код AS3:
Массивы. Массив в AS3 - это переменная, хранящая некоторый список каких-то объектов или значений. У нас в массиве будут храниться точки, по которым объект будет перемещаться. Объявляется массив так: Код AS3:
Пока что оставим его пустым. Из всех методов массива нас интересует тот, которым позволяет добавить в конец массива некоторое значение. В нашем случае, мы будем добавлять экземпляр класса "точка" - Point. Этот метод называется push, и аргументом он принимает то, что необходимо добавить в его конец. Отлично, теперь мы можем добавить в конец массива точку со случайными координатами: Код AS3:
Давайте определим минимум и максимум точек в массиве: Код AS3:
Код AS3:
Код AS3:
|
ZackMercury, а сейчас - еще более понятнее стало.
Спасибо за ответ. |
| Часовой пояс GMT +4, время: 10:35. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.