|
|
|||||
Регистрация: Jan 2014
Сообщений: 27
|
var hand: Array = new Array (hand_01, hand_02, hand_03); // у меня есть 3 объекта var button: Array = new Array (button_01, button_02, button_03); // и 3 кнопки var Fun:Array = [fun1, fun2, fun3]; // и 3 функции соответственно function fun1(e:MouseEvent):void{ this.hand[0].visible = true; // нужно чтоб при нажатии на кнопку появлялся нужный объект //следующие 2 функции идентичны } for(i = 0; i < 3; i++) { Hand[i].addEventListener(MouseEvent.MOUSE_UP, Fun[i]); } Проблема в том, что ООП я пока не изучал (недавно учу программирование), и решаю нужные мне задачи как умею в данный момент. Спасибо большое за отзывчивость! |
|
|||||
Вот написал вам простой пример:
import flash.display.Sprite; import flash.events.MouseEvent; var hand:Array = new Array (hand_01, hand_02, hand_03); var button:Array = new Array (button_01, button_02, button_03); // В цыкле вешаем слушатель на все кнопки var i:int; for (i = 0; i<button.length; i++) { var btn:Sprite = button[i]; btn.addEventListener(MouseEvent.CLICK, clickBtnHandler); } function clickBtnHandler(e:MouseEvent):void { // Определяем какая кнопка была нажата switch (e.currentTarget) { case button_01: hand_01.visible = true; break; case button_02: hand_02.visible = true; break; case button_03: hand_03.visible = true; break; } } |
|
|||||
[+1 22.07.14]
[+4 12.08.14] [+1 09.02.15] Регистрация: May 2014
Сообщений: 182
|
Как вариант:
import flash.utils.Dictionary; import flash.display.MovieClip; import flash.events.MouseEvent; var dictionary:Dictionary = new Dictionary(); this.install(button_1, object_1); this.install(button_2, object_2); this.install(button_3, object_3); function install(button:Button, object:MovieClip):void { object.visible = false; dictionary[button] = object; button.addEventListener(MouseEvent.CLICK, button_clickHandler); } function button_clickHandler(event:MouseEvent):void { for each(var object:MovieClip in dictionary) if(object.visible == true) object.visible = false; var button:Button = event.target as Button; dictionary[button].visible = true; } import flash.utils.Dictionary; import flash.display.MovieClip; import flash.events.MouseEvent; var dictionary:Dictionary = new Dictionary(); var buttons:Array = [button_1, button_2, button_3]; var objects:Array = [object_1, object_2, object_3]; var length:int = buttons.length; if(length != objects.length) throw new Error("ERROR"); for(var i:int = 0; i < length; i++) this.install(buttons[i], objects[i]); function install(button:Button, object:MovieClip):void { object.visible = false; dictionary[button] = object; button.addEventListener(MouseEvent.CLICK, button_clickHandler); } function button_clickHandler(event:MouseEvent):void { for each(var object:MovieClip in dictionary) if(object.visible == true) object.visible = false; var button:Button = event.target as Button; dictionary[button].visible = true; } |
|
|||||
* Создайте себе массив со всеми кнопками.
* Повешайте на каждую кнопку обработчик нажантия. * В обработчике получите кнопк, которая была нажата (event.target). * Обойдите весь массив кнопок и сделайте что нужно со всеми кнопками, кроме полученой в обработчике. |
Часовой пояс GMT +4, время: 00:36. |
|
« Предыдущая тема | Следующая тема » |
|
|