Форум Flasher.ru

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

a7z 31.07.2010 17:54

Как узнать имя спрайта?
 
Есть код:
Код AS3:

var ABV:Sprite = new Sprite();
ABV.graphics.beginFill(0xCCFF00);
ABV.graphics.drawRect(0, 0, 100, 100);
ABV.name = "XYZ";
addChild(ABV);

Спрайт расположен на сцене. Реально ли по щелчку на спрайте узнать название спрайта? имеется ввиду не "XYZ". А то, что спрайт называется "ABV"?

udaaff 31.07.2010 17:54

Он не называется ABV. ABV — это переменная, которая хранит ссылку на данный спрайт.

a7z 31.07.2010 18:05

хорошо,уточню, есть ли возможность узнать имя переменной, которая хранит ссылку на данный спрайт?

wvxvw 31.07.2010 18:10

Нет, имена переменных не существуют в скомпилированном коде. А зачем?

Скрипун 31.07.2010 18:20

схожий вопрос:
имея ссылку на метод, можно узнать какому обтекту он принадлежит?

a7z 31.07.2010 18:29

Цитата:

Сообщение от wvxvw (Сообщение 926178)
Нет, имена переменных не существуют в скомпилированном коде. А зачем?

не более чем любопытство...
но вообще не могу решить такую простую задачу.
хочу создать функцию по созданию спрайтов, спрайтов неограниченное количество... координаты,цветы и т.п. изменяются...
вот не знаю, как правильнее сделать функцию по созданию(массив или еще как), и сделать так, чтобы после их создания, к ним обратится(поставить слушатели) ну т.е., чтобы по щелчку по ним, уже после их создания, они перетаскивались...

wvxvw 31.07.2010 19:27

a7z: Вернуть новый спрайт из этой функции?

Скрипун: Может быть можно как-нибудь используя чего-нибудь из http://help.adobe.com/ru_RU/AS3LCR/F...exicalScopes() или http://help.adobe.com/ru_RU/AS3LCR/F...tackFrame.html, но я не пробовал разбираться.

a7z 31.07.2010 20:47

Цитата:

Сообщение от wvxvw (Сообщение 926197)
a7z: Вернуть новый спрайт из этой функции?

не понял...
смысл в том, что функция должна создавать однотипные спрайты, которыми потом можно управлять

wvxvw 31.07.2010 21:38

Код AS3:

function foo():Sprite { return new Sprite(); }
var sprites:Vector.<Sprite> = new <Sprite>[foo(), foo()];

?


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

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