|
|
|||||
Регистрация: Mar 2009
Сообщений: 11
|
функция для группы объектов
я недавно начал изучать AS3 и решил практики ради создать совсем простой код. на сцене есть кнопка, по её нажатию создаются круги. при нажатии на любой из кругов он становится переносимым (starDrag). eventListener я добавил без определяющего объекта. проблема в том что я не знаю как сделать чтоб сама кнопка на starDrag не реагировала.
button.addEventListener(MouseEvent.CLICK, addRand); addEventListener(MouseEvent.MOUSE_DOWN, dragDot); addEventListener(MouseEvent.MOUSE_UP, stopdragDot); function addRand(event:MouseEvent):void { var mc:MovieClip = new MovieClip(); mc.graphics.beginFill(0x444077); mc.graphics.drawCircle(0,0,10); mc.x = Math.random()*500+25; mc.y = Math.random()*350+25; addChild(mc); } function dragDot(event:MouseEvent):void { event.target.startDrag(); } function stopdragDot(event:MouseEvent):void { event.target.stopDrag(); } |
|
|||||
Регистрация: Dec 2008
Адрес: Апатиты
Сообщений: 13
|
Попробуй так
button.addEventListener(MouseEvent.CLICK, addRand); function addRand(event:MouseEvent):void { var mc:MovieClip = new MovieClip(); mc.graphics.beginFill(0x444077); mc.graphics.drawCircle(0,0,10); mc.x = Math.random()*500+25; mc.y = Math.random()*350+25; addChild(mc); mc.addEventListener(MouseEvent.MOUSE_DOWN, dragDot); mc.addEventListener(MouseEvent.MOUSE_UP, stopdragDot); } function dragDot(event:MouseEvent):void { event.target.startDrag(); } function stopdragDot(event:MouseEvent):void { event.target.stopDrag(); } |
|
|||||
Регистрация: Mar 2009
Сообщений: 11
|
работает отлично. ошибку свою понял. буду признателен если расскажете о преимуществах спрайтов, ну или ссылку скинете
|
|
|||||
Цитата:
А вообще ваш код нужно было делать поиному. Так как АС3 у нас ооп язык, то исходя из основ ооп, нужно сдедать вывод что каждый класс отвечает только за свой функционал. Отсюда следует что все ивенты для перетаскивания должн быть в классе написанном для вашего кружочка. |
|
|||||
Регистрация: Dec 2008
Адрес: Апатиты
Сообщений: 13
|
Цитата:
|
Часовой пояс GMT +4, время: 16:02. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|