![]() |
заполнение области квадратиками
Вложений: 1
Люди добрые, нужна ваша помощь! Подскажите как сделать так, чтобы определенная область флеша случайным образом заполнялась квадратиками, но с проверкой перекрытия(тобишь надо чтоб в одном месте мог находиться только один квадратик, не больше(см.рис). Дублирование реализовать мне удалось, но вот с проверкой проблемы. Я использовал сл. скрипт:
s++; if(i !== p[i] && j !== p[i][j]){ box._x = 4*i; box._y = 4*j; _root.box.duplicateMovieClip(box[i+j],s); i=Math.round(464*Math.random()/4); j=Math.round(56*Math.random()/4); }else{ do{ i=Math.round(464*Math.random()/4); j=Math.round(56*Math.random()/4);}while(i == p[i] && j == p[i][j]); } Ошибку найти не могу. Явно не хватает опыта и знаний. Буду очень благодарен за помощь! Заранее спасибо! |
Ну, ты бы хотя бы прокомментировал свой код, а то так непонятно.
И надо пользоваться специальным тэгом для кода, а то так он плохо читается. |
Спроси Sh@man'а. Он в прошлом году заполнял случайным образом картинками прямоугольную область.
Задача на самом деле не так проста, как видится при первом прочтении. |
Вложений: 1
Простое решение "в лоб".
|
Вложений: 1
я вот так вот это делаю...
|
как вариант: разбиваем область на прямоугольники (сколько там надо..), а в них уже в случайные координаты аттачим квадратики..
Код:
import flash.geom.*; |
что-то мне подсказывает, что мы разные задачи решаем :)
я представил вариант полного заполнения области в случайном порядке с неслучайными координатами каждой позиции. меня к этому подтолкнул кусок кода автора Код:
box._x = 4*i; |
Вложений: 1
Цитата:
|
ichor, необходимо удалить в Вашем файле слой с квадратиком и второй фрейм. Они не нужны. Добавление квадратиков происходит в функции Randomize. Параметром ей передаётся кол-во оставшихся свободных мест (это если вдруг захочется процент заполнения сделать = 10, то при вызове пишите Randomize(iPlaces*0.1)). Квадратик добавляется на каждом onEnterFrame (код выдран из другого проекта, поэтому сделал так. уменьшив фрейм-рейт ролика, можно уменьшить скорость добавления квадратов. это же просто пример), после полного заполнения, функция onEnterFrame удаляется.
|
Код:
var mc=this.createEmptyMovieClip("blabla",0); |
| Часовой пояс GMT +4, время: 12:02. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.