Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как получить массив из eventListener? (http://www.flasher.ru/forum/showthread.php?t=144076)

angry_beaver 05.09.2010 00:00

Цитата:

Сообщение от iNils (Сообщение 933484)
Считай.
Если посмотреть на название метода - initButtons, то, если автор не совсем ленивый, был создан класс описывающий свои кнопки и добавить туда id проблемы нет.

я не ленивый, я не знаю как:away:

in4core 05.09.2010 02:30

Код AS3:

package {
class Buttons {
  public var id;
  public function Buttons() {}
}
}


iillyyaa 05.09.2010 08:53

in4core, я правильно понял, мы создали класс Buttons в него засунули переменную, можем засунуть хоть 100 штук ? типа id2...id100 ? в них потом загрузить нужные данные..

потом в этот же класс мы добавим спрайт ? и будет у нас и спрайт и переменные под "одним" именем ?

а зачем пустая функция ? для чего эта строка ?

alexcon314 05.09.2010 09:08

Вы правильно поняли. Только создать надо будет не только определение класса, но и экземпляр класса в основном коде приложения:
Код:

var btns:Buttons = new Buttons();
При этом как раз будет вызвана та самая пустая функуция. Она называется конструктор класса. Вовсе необязательно оставлять ее пустой, однако и такое допустимо. Потом грузите данные:
Код:

btns.id = 1;

Psycho Tiger 05.09.2010 17:00

Цитата:

Сообщение от iNils (Сообщение 933484)
Считай.
Если посмотреть на название метода - initButtons, то, если автор не совсем ленивый, был создан класс описывающий свои кнопки и добавить туда id проблемы нет.

Тебя непонятно. Ты готов занаследоваться ради одной переменной, а я считаю что ради 5-6, что по сути тоже твой случай, а ты иронизируешь.

В случае когда класс уже занаследован - конечно, к черту хэши. Если ещё нет - ради одного id`а не стоит.

BlooDHounD 05.09.2010 20:49

солидарен с Psycho Tiger. наследование необходимо только тогда, когда id нужен самой кнопке. а если id это метафизическое свойство используемое где-то там, но не понимаю зачем мне расширять кнопку. а если кроме кнопки там окажутся другого рода объекты, то ваще замучаешься создавать наследников. да и не всегда можно создать наследников.

в общем: если свойство не нужно самой кнопки, то и наследование тоже не нужно.

iNils 05.09.2010 22:43

Цитата:

я считаю что ради 5-6
Дело не в числе, Блуд верно сформулировал в "в общем".

iillyyaa 29.09.2010 03:01

понадобилось передать 2 переменные по событию мышки в функцию...
читал эту тему пару раз... вроде получилось всё :)

может кому пригодится:

Код AS3:

import flash.display.*;
import flash.text.*;
var my_xx:Dictionary=new Dictionary();
var my_yy:Dictionary=new Dictionary();
 
var ttttt = new TextField();
ttttt.textColor = 0xFF0000;
ttttt.autoSize = TextFieldAutoSize.LEFT;
ttttt.selectable = false;
ttttt.text = 'наведи курсор на текст и следи за ответом trace';
ttttt.x = 0;
ttttt.y = 0;
my_xx[ttttt]=77;
my_yy[ttttt]=25;
addChild(ttttt);
ttttt.addEventListener(MouseEvent.MOUSE_OVER, onIn, false, 0, true);
function onIn(event:MouseEvent){
        trace(my_xx[event.currentTarget]);
        trace(my_yy[event.currentTarget]);
}

тоесть мы создали 2 массива и создавая разные текстовые поля записываем нужное нам в эти массивы ну и вызываем их..

Psycho Tiger 29.09.2010 16:23

Круто!
Всё верно сделал.
Только для ttttt неплохо было бы объявить тип!
И массив - это Array. Dictionary - ассоциативный массив, и называют его крутые дяди "хэш".

iillyyaa 29.09.2010 16:56

в смысле так?

Код AS3:

var ttttt:TextField = new TextField();


Psycho Tiger 29.09.2010 21:46

Верно.


Часовой пояс GMT +4, время: 18:49.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.