![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Спасибо.... направление понял)
__________________
This is only a game This is only a game... Последний раз редактировалось nail84; 30.07.2007 в 15:53. |
|
|||||
|
Я тоже иногда пишу код в кадре типа stop(); или когда по окончанию проигрывания мувика нужно вызвать метод.
|
|
|||||
|
UFO
Регистрация: Jul 2007
Сообщений: 173
|
Надо писать так - как позволяет писать редактор. Хочешь писать в кадрах пиши, хочешь цеплять внешние классы - цепляй, хочешь юзай автосоздание классов =) Но это моё мнение. 8)
А вот для того что бы видеть объекты сцены: 1. Проще всего создать массив ссылок на эти объекты, и отдавать этот массив нужным классам. 2. Воспользоваться кодом выше - отдавать ссылку на саму сцену. 3. Использовать статический класс, с линками на объекты сцены (получается гораздо удобнее, т.к. не надо ничего никому передавать, как первых двух случаях) 4. Использовать stage, parent - прямо внутри класса. 5. ??? Есть еще варианты? |
|
|||||
|
Цитата:
Буду признателен если напишешь как это правильно делать.
__________________
This is only a game This is only a game... |
|
|||||
|
Banned
[+1 20.09.07]
[+++1 24.09.07 за тактичность и вменяемость] [+4 18.09.07] Регистрация: Aug 2006
Сообщений: 101
|
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
mushtra, а что мешает написать сразу root.textVar = …?
|
|
|||||
|
Banned
[+1 20.09.07]
[+++1 24.09.07 за тактичность и вменяемость] [+4 18.09.07] Регистрация: Aug 2006
Сообщений: 101
|
Не берусь с Вами спорить: очень слаб в AS3, но кажется сталкивался с ситуацией, что для обращения к свойствам одного объекта из другого, необходимо регистрировать первый объект в последнем. Впрочем, думаю, если и тот и другой вариант верны, то автору топика ситуация должна проясниться. Вообще, считаю, что стереотип областей видимости в ОП AS2, вполне применим и к AS3, только синтаксис другой.
|
|
|||||
|
UFO
Регистрация: Jul 2007
Сообщений: 173
|
Цитата:
Основной код в КАДРЕ =) var arrayLinks:Array = new Array();
var o1 = new Sprite();
o1.name = "myObjectName1";
arrayLinks.push(o1);
var o2 = new Shape();
o2.name = "myObjectName2";
arrayLinks[1] = o2;
var o3 = new MovieClip();
o3.name = "myObjectName3";
addChild(o3);
arrayLinks.unshift(o3);
for each (var i in arrayLinks) trace(i.name);
trace("----");
var myClass = new MyClass();
myClass.setMyArrayLinks(arrayLinks);
myClass.getNameObjects();
var arrayLinks:Array;
function setMyArrayLinks(n:Array){
arrayLinks = n;
}
function getNameObjects(){
for each (var i in arrayLinks) trace(i.name);
}
Например тогда при создании нашего MyClass, нам не пришлось бы сетить setMyArrayLinks(n:Array) - наш массив с линками. Мы засетили бы наш массив один раз в статичский класс GlobalLinks, например, тогда код класса MyClass сильно упрощается. И можно создавать хоть 10 объектов типа MyClass, сетить массивы в каждый объект не пришлось бы. Вот пример нашего нового MyClass: Удобнее? на все 100% =) P.S. Как видно из примера линки могут содержать как добавленные на сцену объекты, так и еще не добавленные. Последний раз редактировалось ALiEN_; 06.08.2007 в 22:03. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Не понимаю, зачем все эти извращения с массивами, когда есть numChildren и getChildAt…
|
|
|||||
|
UFO
Регистрация: Jul 2007
Сообщений: 173
|
Хм... попробуй взять мой код выше, и прилепить в метод getNameObjects numChildren и getChildAt ....
В основном коде, ведь есть объекты не являющиеся чилдами для stage. Как раз для таких вещей и нужны массивы линков =) |
![]() |
![]() |
Часовой пояс GMT +4, время: 14:06. |
|
|
« Предыдущая тема | Следующая тема » |
|
|