Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Закрытая тема
Старый 30.07.2007, 15:25
nail84 вне форума Посмотреть профиль Отправить личное сообщение для nail84 Найти все сообщения от nail84
  № 11  
nail84
 
Аватар для nail84

Регистрация: Jun 2006
Адрес: Обнинск
Сообщений: 12
Отправить сообщение для nail84 с помощью ICQ
Спасибо.... направление понял)
__________________
This is only a game This is only a game...


Последний раз редактировалось nail84; 30.07.2007 в 15:53.
Старый 30.07.2007, 15:46
vapes вне форума Посмотреть профиль Отправить личное сообщение для vapes Найти все сообщения от vapes
  № 12  
vapes
 
Аватар для vapes

блогер
Регистрация: Nov 2006
Адрес: Минск
Сообщений: 370
Записей в блоге: 6
Отправить сообщение для vapes с помощью ICQ Отправить сообщение для vapes с помощью Skype™
Я тоже иногда пишу код в кадре типа stop(); или когда по окончанию проигрывания мувика нужно вызвать метод.

Старый 31.07.2007, 16:04
ALiEN_ вне форума Посмотреть профиль Отправить личное сообщение для ALiEN_ Посетить домашнюю страницу ALiEN_ Найти все сообщения от ALiEN_
  № 13  
ALiEN_
UFO
 
Аватар для ALiEN_

Регистрация: Jul 2007
Сообщений: 173
Надо писать так - как позволяет писать редактор. Хочешь писать в кадрах пиши, хочешь цеплять внешние классы - цепляй, хочешь юзай автосоздание классов =) Но это моё мнение. 8)

А вот для того что бы видеть объекты сцены:

1. Проще всего создать массив ссылок на эти объекты, и отдавать этот массив нужным классам.

2. Воспользоваться кодом выше - отдавать ссылку на саму сцену.

3. Использовать статический класс, с линками на объекты сцены (получается гораздо удобнее, т.к. не надо ничего никому передавать, как первых двух случаях)

4. Использовать stage, parent - прямо внутри класса.

5. ??? Есть еще варианты?

Старый 31.07.2007, 17:18
nail84 вне форума Посмотреть профиль Отправить личное сообщение для nail84 Найти все сообщения от nail84
  № 14  
nail84
 
Аватар для nail84

Регистрация: Jun 2006
Адрес: Обнинск
Сообщений: 12
Отправить сообщение для nail84 с помощью ICQ
Цитата:
1. Проще всего создать массив ссылок на эти объекты, и отдавать этот массив нужным классам.
4. Использовать stage, parent - прямо внутри класса.
Вот именно это у меня и не получилось.... При попытке обратиться к объекту, расположенному на сцене, непосредственно из класса через stage и parent, флеш ругался на недопустимые методы....
Буду признателен если напишешь как это правильно делать.
__________________
This is only a game This is only a game...

Старый 06.08.2007, 16:26
mushtra вне форума Посмотреть профиль Найти все сообщения от mushtra
  № 15  
mushtra
Banned
[+1 20.09.07]
[+++1 24.09.07 за тактичность и вменяемость]
[+4 18.09.07]

Регистрация: Aug 2006
Сообщений: 101
В твоём случае:
Код:
var p = root;
p.textVar='Test';

Старый 06.08.2007, 16:30
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 16  
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
mushtra, а что мешает написать сразу root.textVar = …?

Старый 06.08.2007, 16:47
mushtra вне форума Посмотреть профиль Найти все сообщения от mushtra
  № 17  
mushtra
Banned
[+1 20.09.07]
[+++1 24.09.07 за тактичность и вменяемость]
[+4 18.09.07]

Регистрация: Aug 2006
Сообщений: 101
Не берусь с Вами спорить: очень слаб в AS3, но кажется сталкивался с ситуацией, что для обращения к свойствам одного объекта из другого, необходимо регистрировать первый объект в последнем. Впрочем, думаю, если и тот и другой вариант верны, то автору топика ситуация должна проясниться. Вообще, считаю, что стереотип областей видимости в ОП AS2, вполне применим и к AS3, только синтаксис другой.

Старый 06.08.2007, 21:58
ALiEN_ вне форума Посмотреть профиль Отправить личное сообщение для ALiEN_ Посетить домашнюю страницу ALiEN_ Найти все сообщения от ALiEN_
  № 18  
ALiEN_
UFO
 
Аватар для ALiEN_

Регистрация: Jul 2007
Сообщений: 173
Цитата:
Сообщение от nail84
Вот именно это у меня и не получилось.... При попытке обратиться к объекту, расположенному на сцене, непосредственно из класса через stage и parent, флеш ругался на недопустимые методы....
Буду признателен если напишешь как это правильно делать.
Например так:

Основной код в КАДРЕ =)
Код:
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();
и код класса "MyClass" в библиотеке

Код:
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:

Код:
function getNameObjects(){
	
	for each (var i in GlobalLinks.arrayLinks) trace(i.name);
	
}
Удобнее? на все 100% =)

P.S. Как видно из примера линки могут содержать как добавленные на сцену объекты, так и еще не добавленные.


Последний раз редактировалось ALiEN_; 06.08.2007 в 22:03.
Старый 06.08.2007, 22:33
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 19  
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Не понимаю, зачем все эти извращения с массивами, когда есть numChildren и getChildAt…

Старый 08.08.2007, 22:14
ALiEN_ вне форума Посмотреть профиль Отправить личное сообщение для ALiEN_ Посетить домашнюю страницу ALiEN_ Найти все сообщения от ALiEN_
  № 20  
ALiEN_
UFO
 
Аватар для ALiEN_

Регистрация: Jul 2007
Сообщений: 173
Хм... попробуй взять мой код выше, и прилепить в метод getNameObjects numChildren и getChildAt ....

В основном коде, ведь есть объекты не являющиеся чилдами для stage. Как раз для таких вещей и нужны массивы линков =)

Создать новую тему Закрытая тема Часовой пояс GMT +4, время: 14:06.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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