![]() |
|
||||||||||
|
|||||
|
Регистрация: Apr 2013
Сообщений: 44
|
Здравствуйте!
B5.addEventListener(MouseEvent.CLICK,onClickHandler); B4.addEventListener(MouseEvent.CLICK,onClickHandler); B3.addEventListener(MouseEvent.CLICK,onClickHandler); B2.addEventListener(MouseEvent.CLICK,onClickHandler); B1.addEventListener(MouseEvent.CLICK,onClickHandler); B6.addEventListener(MouseEvent.CLICK,onClickHandler); private function addEvents():void { for (var i:int=1; i<ButtonNumber; i++) { var btn:R_697 = new R_697(); btn.name = "B" + i; btn.addEventListener(MouseEvent.CLICK,onClickHandler); } } Вообще очень хотел бы научиться обрабатывать с помощью массивов, где есть об этом информация? если кто знает очень был бы благодарен! и Про функции и параметры тоже! Добавлено через 12 минут Тоесть не так выразился, хотелось бы через массив добавить слушателей для кнопок которые уже на сцене |
|
|||||
|
Регистрация: Jun 2013
Адрес: Воронеж
Сообщений: 101
|
А почему индекс начинается с 1? У массивов первый индекс 0.
|
|
|||||
|
Регистрация: Feb 2012
Сообщений: 1,540
|
|
|
|||||
|
Регистрация: Apr 2013
Сообщений: 44
|
Ваш Вариант пробовал но не хочет ругается на строчку
изменил на var buttons:Array = []; for(var i:int = 0; i<ButtonNumber; i++) { var button:SimpleButton = new SimpleButton(); button.name = "b" + i; button.addEventListener(MouseEvent.CLICK,onClickHandler); buttons.push(button); } trace(buttons); попытался вот таким вариантом private function initialButtonsMain():void // Buttons on Main Scene { for (var i:int = 1; i<BUTTONS_VALUE; i++) { var button:SimpleButton = this.getChildByName("B" + i) as SimpleButton; button.addEventListener(MouseEvent.CLICK, onClickHandler); buttonsA.push(button); } updateListeners(true); } private function updateListeners(param:Boolean):void // Check for Bool Parameter { for (var i:int = 1; i<buttonsA.length; i++) { var button:SimpleButton = buttonsA[i] as SimpleButton; if (param) { button.addEventListener(MouseEvent.CLICK, onClickHandler); } else { button.removeEventListener(MouseEvent.CLICK, onClickHandler); } } } Можно ли как нибудь еще? или как исправить такую ошибку. Просто очень хочется обрабатывать с помощью массивов потому что когда кнопок 10 то каждый раз одно и то же писать как то некрасиво... Добавлено через 3 минуты вот весь код класса package basis { import flash.events.MouseEvent; import flash.events.Event; import flash.display.SimpleButton; import flash.display.MovieClip; import com.greensock.*; import com.greensock.easing.*; public class Main_697 extends MovieClip { private const BUTTONS_VALUE:int = 4; private var buttonsA:Array = []; private var mc_1:MC_1; private var mc_2:MC_2; private var mc_3:MC_3; public function Main_697() { addEventListener(Event.ADDED_TO_STAGE, initialMain); initialButtonsMain();// add Listeners for Buttons: if true = add, false = remove; mc_1 = new MC_1; mc_2 = new MC_2; mc_3 = new MC_3; } private function initialMain(e:Event):void { removeEventListener(Event.ADDED_TO_STAGE, initialMain); importObjectToMainScene(mc_1); } private function initialButtonsMain():void // Buttons on Main Scene { for (var i:int = 1; i<BUTTONS_VALUE; i++) { var button:SimpleButton = this.getChildByName("B" + i) as SimpleButton; buttonsA.push(button); } updateListeners(true); } private function updateListeners(param:Boolean):void // Check for Bool Parameter { for (var i:int = 1; i<buttonsA.length; i++) { var button:SimpleButton = buttonsA[i] as SimpleButton; if (param) { button.addEventListener(MouseEvent.CLICK, onClickHandler); } else { button.removeEventListener(MouseEvent.CLICK, onClickHandler); } } } private function onClickHandler (e:MouseEvent):void // Choose right Movie Clip { switch(e.currentTarget.name) { case 'B1': removeObjectFromMainScene(); importObjectToMainScene(mc_1); break; case 'B2': removeObjectFromMainScene(); importObjectToMainScene(mc_2); } } private function importObjectToMainScene( displayedObject:MovieClip ):void // Import MovieClip To Main Scene { displayedObject.x = 88; displayedObject.y = 88; addChild(displayedObject); } private function removeObjectFromMainScene():void // Remove all Childs except Movie Clip on First Level { while (this.numChildren > 0) { this.removeChildAt(0); } } } } |
|
|||||
|
Регистрация: Apr 2013
Сообщений: 44
|
Непонял, как это подпишитесь слушать контейнер кнопок. Какой контейнер?
|
|
|||||
|
Регистрация: Feb 2012
Сообщений: 1,540
|
Запомните: первый индекс массива = 0.
Правильно так: |
|
|||||
|
Регистрация: Apr 2013
Сообщений: 44
|
знаю, но мне нужно с 1 начинать что бы кнопки ровно попадали первая кнопка 1 вторая 2 и т д а не первая кнопка 0 и т д... А какая разница хоть с 10 начинать...
|
|
|||||
|
Цитата:
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку. |
|
|||||
|
Регистрация: Feb 2012
Сообщений: 1,540
|
|
![]() |
![]() |
Часовой пояс GMT +4, время: 02:28. |
|
|
« Предыдущая тема | Следующая тема » |
|
|