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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 07.11.2009, 02:04
kaetano вне форума Посмотреть профиль Отправить личное сообщение для kaetano Найти все сообщения от kaetano
  № 1  
Ответить с цитированием
kaetano
 
Аватар для kaetano

Регистрация: May 2009
Сообщений: 134
По умолчанию Как узнать существует ли объект?

Знаю что есть метод contains, но почему-то он не действует. Пишет ошибку
Код AS3:
ReferenceError: Error #1069: Не удалось найти свойство point1_1To3_0 в src.Main; отсутствует значение по умолчанию.
Имя объекта задается динамически. И ругается даже при трассировании:

Код AS3:
trace("POINT: " + this.contains( this["point" + indMan1 + "To" + indMan2]))
Добавлено через 1 минуту
Переменные indMan1,2 берутся из XML, если это важно

Старый 07.11.2009, 02:20
MrPoma вне форума Посмотреть профиль Отправить личное сообщение для MrPoma Посетить домашнюю страницу MrPoma Найти все сообщения от MrPoma
  № 2  
Ответить с цитированием
MrPoma
 
Аватар для MrPoma

Регистрация: Jul 2006
Адрес: Питер
Сообщений: 2,083
Отправить сообщение для MrPoma с помощью Skype™
Вы про дисплей обжекты говорите?
__________________
жж | твттр | гглплс | фсбк | вкнткт | гтхб

Старый 07.11.2009, 02:22
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 3  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
contains() - это в смысле метод DisplayObjectContainer'a? Если point1_1To3_0 не DisplayObject или this не DisplayObjectContainer, то будет ошибка.
А зачем такие неуклюжие манипуляции с названиями переменных?
Чтобы проверить, существует ли объект, нужно знать, какой объект проверять, а в вашем случае похоже, вы не знаете, что именно хотите проверить...
__________________
Hell is the possibility of sanity

Старый 07.11.2009, 02:25
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Оно не нашло указанное свойство, contains тут непричем ещё.

Старый 07.11.2009, 02:33
kaetano вне форума Посмотреть профиль Отправить личное сообщение для kaetano Найти все сообщения от kaetano
  № 5  
Ответить с цитированием
kaetano
 
Аватар для kaetano

Регистрация: May 2009
Сообщений: 134
Цитата:
Сообщение от wvxvw Посмотреть сообщение
contains() - это в смысле метод DisplayObjectContainer'a? Если point1_1To3_0 не DisplayObject или this не DisplayObjectContainer, то будет ошибка.
А зачем такие неуклюжие манипуляции с названиями переменных?
Чтобы проверить, существует ли объект, нужно знать, какой объект проверять, а в вашем случае похоже, вы не знаете, что именно хотите проверить...
Неа, я знаю объект, это MovieClip.

Неуклюжие названия.... ну я даже не знаю почему, наверно потому что объектов достаточное кол-во (point...), а имя (объект которыый нам нужен в определенный момент) формируется в зав-ти от выбранных установок, которые сидят в XML. Мда, объяснила.....

Старый 07.11.2009, 02:35
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 6  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
MovieClip - это класс, и существует он всегда, более того, он не может не существотать, т.как встроен в плеер.
Не понятно зачем вообще давать имена, если они все равно не нужны... почeму нельзя просто сложить объекты в какой-нибудь список, типа массива, например.
__________________
Hell is the possibility of sanity

Старый 07.11.2009, 02:46
kaetano вне форума Посмотреть профиль Отправить личное сообщение для kaetano Найти все сообщения от kaetano
  № 7  
Ответить с цитированием
kaetano
 
Аватар для kaetano

Регистрация: May 2009
Сообщений: 134
Цитата:
Сообщение от wvxvw Посмотреть сообщение
Не понятно зачем вообще давать имена, если они все равно не нужны... почeму нельзя просто сложить объекты в какой-нибудь список, типа массива, например.
Может и можно. Только смотрите. В определенные шаги анимации (выбранные пользователем) будет появляться тот или иной объект и они появляются не по порядку, т.е. в зав-ти от индексов 1 и 2, а значит их все равно надо привязывать к этим индексам. Да и как не давать имена DisplayObject? Я еще учусь.... даже не знаю как к ним потом обратиться, без имени то....

А если потом этот пользователь в XML захочет изменить индекс на другой? А это предполагается....

Добавлено через 10 минут
Цитата:
Сообщение от wvxvw Посмотреть сообщение
MovieClip - это класс, и существует он всегда, более того, он не может не существотать, т.как встроен в плеер.
Почему-то я думала что MovieClip это частный случай DisplayObject (наследуется от него)


Последний раз редактировалось kaetano; 07.11.2009 в 03:00.
Старый 07.11.2009, 03:22
Firexel вне форума Посмотреть профиль Отправить личное сообщение для Firexel Найти все сообщения от Firexel
  № 8  
Ответить с цитированием
Firexel

Регистрация: Jan 2008
Сообщений: 28
Цитата:
значит их все равно надо привязывать к этим индексам
Если вы их сложите в массив, то каждый из них будет привязан к собственному индексу в массиве.

Старый 07.11.2009, 03:40
kaetano вне форума Посмотреть профиль Отправить личное сообщение для kaetano Найти все сообщения от kaetano
  № 9  
Ответить с цитированием
kaetano
 
Аватар для kaetano

Регистрация: May 2009
Сообщений: 134
Цитата:
Сообщение от Firexel Посмотреть сообщение
Если вы их сложите в массив, то каждый из них будет привязан к собственному индексу в массиве.
Слава богу это понятно
Только у меня не один индекс, а два, и они (идин или оба могут поменяться через неделю).

Чтоб было понятно вкратце - есть основные элементы, между которыми надо показывать линии связи (point), вот насчет них и говорим. На каждом этапе показа свои активные основные элементы, в зав-ти от того кто они такие - показываем определенную стрелку (point), но как уже сказала все может поменяться и надо будет на этом же этапе сделать активными другие элементы, а следовательно и стрелка будет уже не эта.

Для чего мне нужно узнать есть ли такой объект - для страховки от ошибки пользователя.

И все равно не понимаю как не давать элементам (разных визуально) имен и как их потом выискивать в ентом массиве. Даже если я выкручусь и не обзову их - что от этого выиграю?

ПС: теоретически линии связи можно нарисовать программно, но хотелось бы их сделать красивыми, а программно я не умею, но зато сразу же будет проще к ним обращаться. Видимо все идет к тому......

Старый 07.11.2009, 14:10
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 10  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Код AS3:
var w:int = 5;
var h:int;
var a:Array = [];
var b:Array;
while (w--)
{
	h = 5;
	b = [];
	a[w] = b;
	while (h--)
	{
		b[h] = new Sprite();
	}
}
 
trace(a.join("\r"));
Ну вот вы создали двухмерный массив содержащий спрайты, зачем вам нужны имена?
__________________
Hell is the possibility of sanity

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

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

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


 


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


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