![]() |
Закрасить объекты, протащив по ним курсор
Вложений: 2
Задача: есть много мувиклипов разной формы, все проименованы от q1 ... q500. По клику они должны закрашиваться в определенный цвет. Чтобы было удобнее, можно зажать конпку мыши протащить курсор по нужным объектам.
Исходник и swf в аттаче. Я сделал это, но нельзя закрасить все сразу, только по 10 за раз. Жмем пробел, счетчик увеличивается на 10, и мы можем закрасить еще 10 штук. Это ограничение я поставить не могу. Функция работает через onMouseDown, проверяет на hitTest, поэтому декремент срабатывает даже когда я двигаю мышь в пределах одного и того же мувиклипа, и все "заряды" с легкостью уходят на один мувик. Есть идеи как это исправить? Код AS1/AS2:
|
Думаю можно по нажатию на кнопку мыши вызвать setInterval и потом проверять к примеру каждые 100 миллисекунд находится ли курсор над клипом и закрашивать этот клип. По отпусканию кнопки - clearInterval. Не уверен, что это лучшее решение, но можно попробовать.
|
Я не мог определить с каким именно объектом хиттестит мышка, потому что вешаю функцию через цикл сразу на много объектов (с классами толком работать не умею).
Сейчас придумал ввести новую переменную, которая содержит текущий объект, который легко найти по i внутри hitTest - там уже нужный мне, а не 1-86, т.к. хиттестится с одним объектом одновременно. Вот измененная функция, если кому то потребуется похожая: Код AS1/AS2:
|
а сохранять предыдущий объект который был уже закрашен религия не позволяет? и при чем тут ваше умение или неумение работать с классами?
|
| Часовой пояс GMT +4, время: 23:59. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.