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

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

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

Регистрация: Oct 2009
Сообщений: 72
Без всякого лишнего хлама код выглядит так:
Код AS3:
public static function AddPoint(tempXML:XML, parentObj:MovieClip):MovieClip {
			var retval;
 
			retval.id = tempXML.@text;
 
			myArray[retval.id] = tempXML.toString();
 
			retval.addEventListener(MouseEvent.CLICK, clickHandler);
		}
		public static function clickHandler(event:MouseEvent){
			var inText:TextField = new TextField;
			inText.multiline = true;
			inText.htmlText = myArray[event.currentTarget.id];
		}

Старый 13.11.2009, 15:47
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 12  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Что это за чудеса? =)
Код AS3:
var retval; // -нетипизированная переменная а-ля javascript
retval.id = tempXML.@text; // задаем id строковое значение
myArray[retval.id] = tempXML.toString(); // длинное-длинное название свойства...
retval.addEventListener()... // это как? клик по чему?
И где Ваша функция возвращает объект класса MovieClip?
__________________
...вселенская грусть


Последний раз редактировалось gloomyBrain; 13.11.2009 в 15:50.
Старый 13.11.2009, 15:49
_SoWa вне форума Посмотреть профиль Отправить личное сообщение для _SoWa Найти все сообщения от _SoWa
  № 13  
Ответить с цитированием
_SoWa
 
Аватар для _SoWa

Регистрация: Oct 2009
Сообщений: 72
Где-то она все-таки от МувиКлипа наследуется, но дело не в этом.
id ей хорошо присваивается и даже кое-где используется, поэтому проблема ну явно не в это )

Добавлено через 2 минуты
Код AS3:
retval.id = tempXML.@text;
Ну а что в этом такого? Есть в ХМЛ-теге аттрибут text.
Вот я в id и назначаю этот аттрибут...

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

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
Dictionary вам в помощь
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью

Старый 13.11.2009, 19:45
derhab вне форума Посмотреть профиль Отправить личное сообщение для derhab Найти все сообщения от derhab
  № 15  
Ответить с цитированием
derhab
 
Аватар для derhab

Регистрация: Apr 2001
Адрес: Berlin
Сообщений: 1,862
Отправить сообщение для derhab с помощью ICQ Отправить сообщение для derhab с помощью Skype™
Цитата:
Без всякого лишнего хлама код выглядит так:
....
все стало еще непонятнее... где определен myArray?
Цитата:
Dictionary вам в помощь
Dictionary тут не поможет))
__________________
freelance | Раздор

Старый 13.11.2009, 23:01
SamFR вне форума Посмотреть профиль Отправить личное сообщение для SamFR Посетить домашнюю страницу SamFR Найти все сообщения от SamFR
  № 16  
Ответить с цитированием
SamFR

Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
Цитата:
Сообщение от cleptoman Посмотреть сообщение
Dictionary вам в помощь
Dictionary тут использовать не нужно. Достаточно Object. А проблема в чём-то другом.
_SoWa, где у вас находится объявление и инициализация myArray?

Добавлено через 1 минуту
А также подозрительна вот эта строчка:
Код AS3:
retval.id = tempXML.@text;
Она явно приведёт к ошибке, так как переменная retval у вас ничем не инициализирована и равна undefined. Может быть, вы хотели и её использовать как хэш? Тогда нужно так:
Код AS3:
var retval:Object = new Object();
retval.id = String(tempXML.@text[0]);
//если не привести к строке, retval.id будет содержать объект XML, что, уверен, вам не нужно.
//а если не указать на нулевой элемент, то вообще XMLList.
//можно также написать retval['id'] = String(tempXML.@text[0]), что в данном случае равносильно.
 
//далее можно обращаться к retval.id, имеющему тип String.


Последний раз редактировалось SamFR; 13.11.2009 в 23:15.
Старый 13.11.2009, 23:18
_SoWa вне форума Посмотреть профиль Отправить личное сообщение для _SoWa Найти все сообщения от _SoWa
  № 17  
Ответить с цитированием
_SoWa
 
Аватар для _SoWa

Регистрация: Oct 2009
Сообщений: 72
Так, наверно стоит пояснить, чтобы не вызывать у вас ужаса в глазах
retval объявляется в другой функции. Так как код не мой, то возможно и правда, то что вы говорите. Но этой переменной вполне нормально устанавливается свойство id.
Инициализация myArray находится сразу в начале класса.
public var myArray:Object = {}; или myArray:Array = new Array();

Старый 13.11.2009, 23:39
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 18  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Если компилятор не ругается на
Код AS3:
var myObj:Object = new Object();
myObj["id"] = "myObjID";
, значит с этой часть кода все в порядке. А найти ту часть кода, с которой что-то не в порядке, представляется мне довольно сложной задачей (при условии, что код-то никто не выкладывает)
__________________
...вселенская грусть

Старый 13.11.2009, 23:42
SamFR вне форума Посмотреть профиль Отправить личное сообщение для SamFR Посетить домашнюю страницу SamFR Найти все сообщения от SamFR
  № 19  
Ответить с цитированием
SamFR

Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
Цитата:
Сообщение от _SoWa Посмотреть сообщение
retval объявляется в другой функции.
Но, если у вас дествительно в начале функции addPoint стоит строчка
Код AS3:
var retval;
то в данной функции вы объявляете локальную переменную, область видимости которой перекроет ту, другую retval, и в addPoint() переменная retval будет равна undefined. Что бы там ни объявлялось в другой функции (к слову, переменные, объявленные в теле функции/метода, видны только в нём, и после окончания работы функции/метода удаляются).

А вот с этим
Код AS3:
public var myArray:Object = {}; или myArray:Array = new Array();
должна быть проблема, так как метод addPoint() у вас статический, а свойство myArray - нет, поэтому его видно из addPoint() не будет.


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

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

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


 


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


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