Форум 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=146752)

Боня 17.11.2010 11:09

Ссылка на статический объект.
 
У меня есть на сцене 2 объекта. Оба созданы статично, т.е. при входе в *.swf, без вмешательства as3. Теперь мне нужно из объекта №2 обратиться к объекту №1. И что бы не писать
Код AS3:

parent.№1.main()

хочу присвоить переменной ссылку на объект №1, но как сделать это незнаю. Или может быть можно как-то по адресу всё это дело провернуть, узнав адресс памяти данного объкта. Кто знает подскажите пожалуйсто.

Добавлено через 5 минут
Код AS3:

new_obj  = new obj();
addChild(new_obj);
 
var My_obj:obj;
My_obj = new_obj;

С динамически созданными объектами я делал так.

TanaTiX 17.11.2010 11:36

Дети не должны управлять друг другом, детьми должны управлять родители.

Боня 17.11.2010 12:00

TanaTiX
Вы сейчас сказали, что у меня грубый стиль програмирования. И тем немение в моей ситуации мне кажется это удобнее.
И темнемение как получить ссылку?

Котяра 17.11.2010 13:06

чтобы получить, её должен кто-то передать. например парент.
Цитата:

child1.neighbour = child2

i.o. 17.11.2010 13:06

не понял проблемы. Хотите присвоить, так присваивайте:
Код AS3:

var myVar = parent.№1;


Боня 17.11.2010 13:21

i.o.
Котяра

Спасибо!
Проблема состояла в том, что ранее я указывал расширение:
Код AS3:

var My_obj:obj;
My_obj = new_obj;

А тут думал какое расширение указать.

leofit 17.11.2010 13:21

Если у Вас на сцене объекты, созданные без AS то присвойте им имена в среде разработки и дергайте по именам.

Боня 17.11.2010 13:55

Цитата:

Сообщение от leofit (Сообщение 950319)
Если у Вас на сцене объекты, созданные без AS то присвойте им имена в среде разработки и дергайте по именам.

Смотрится не красиво и предположу, что работает перебором всех объектов на сцене в поиске нужного имени.

Цитата:

Сообщение от Котяра (Сообщение 950319)
чтобы получить, её должен кто-то передать. например парент.
Код AS3:

child1.neighbour = child2


Работает очень хорошо и скорее всего запоминанием адресса памяти к данному объекту. Так что в теории это быстрее, код компактней и красивее.

Код AS3:

var myVar = parent.№1;

Работает только если первый объект был загружен ранее второго.

Добавлено через 8 минут
Чуть-чуть дополнить хотел бы. А так как поле объекта name:String - является строкой, а строки при сравнении проверяются по символьно, то это гораздо проблематичнее, чем просто напрямую обратиться.

cleptoman 17.11.2010 14:11

Цитата:

Смотрится не красиво и предположу, что работает перебором всех объектов на сцене в поиске нужного имени.
эээ..а как же getChildByName ?

leofit 17.11.2010 16:31

Цитата:

Сообщение от Боня (Сообщение 950324)
Смотрится не красиво и предположу, что работает перебором всех объектов на сцене в поиске нужного имени.

Предположу, что предположение неверно.


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

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