|
|
|||||
Регистрация: Jan 2011
Сообщений: 247
|
Перенос массивов в другой класс
Мне нужно перенести массив с одного класса в другой,ну у меня не очень выходит...
первый файл AA.as private var cr:Array = new Array(); private var c_s:Number = 0; private var cMC:Sprite = new Sprite(); private var points:Array = new Array(); private var my:Main; private function cNC():void { var c:Sprite = new CC(points, my); // заменить эту строку со второго файла (СС.as) cr.push(c); cMC.addChild(c); ++c_s; } private var points:Array = new Array(); private var my:Main; public function CC(pts:Array, t:Main):void { points = pts; my = t; var s_p:Array = points[0]; x = cGP(s_p[0]); y = cGP(s_p[1]); } private var cr:Array = new Array(); private var c_s:Number = 0; private var cMC:Sprite = new Sprite(); private var points:Array = new Array(); private var points_CC:Array = new Array(); private var my:Main; private function cNC():void { var s_p:Array = points_CC[0]; x = cGP(s_p[0]); y = cGP(s_p[1]); var c:Array = points_CC; cr.push(c); cMC.addChild(c); ++c_s; } За ранние благодарю. |
|
|||||
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
Посмотрел этот код несколько минут, так и не понял, что тут нужно сделать.
Советую для начала избавиться от таких уродливых названий свойств, и писать код в соответствии с AS3 конвенциями. Читать такое очень напрягает, тем более без комментариев. Цитата:
|
|
|||||
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
Если "за ранние" спасибо, тогда "в крациях" так: прочитайте, что такое классы, каким образом они объявляются, и да, не забудьте прочитать про конвенции наименований.
Массивы тут вообще ни причём.
__________________
Отряд Котовскага |
|
|||||
Регистрация: Jan 2011
Сообщений: 247
|
Цитата:
[Fault] exception, information=TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null". на Цитата:
|
|
|||||
Регистрация: May 2006
Адрес: Нск
Сообщений: 91
|
Ваш русский язык и наименование переменных в коде напрочь отбивают желание разбираться в проблеме.
Однако же. Я так понял задача была перенести код из одного места в другое? Вроде бы это худо бедно сделано. Ошибка конкретно здесь: Видимо массив points_CC пуст, вы уверены что его заполняете? В старом коде передавался массив points, который вероятно в каком-то другом месте заполнялся, почему не использовать его? |
|
|||||
Регистрация: Jan 2011
Сообщений: 247
|
Цитата:
//Попытаюсь еще рас поподробнее о вопросе рассказать var c:Sprite = new CC(points, my); // сюда входит и массив который объявлен в начале класса и [Object Main] (с главного класса Main) // то есть когда я переношу сам класс CC в Main, я предпологаю что он уже не требует [Object Main] т.к. в нем находится поэтому я его "опускаю", и оставляю только points_CC:array , переименовую т.к. уже поинтс есть в данном классе. |
|
|||||
Регистрация: May 2006
Адрес: Нск
Сообщений: 91
|
а код вообще ваш?
а то мои наводящие вопросы что-то не действуют. попробуйте такой вариант: private var cr:Array = new Array(); private var c_s:Number = 0; private var cMC:Sprite = new Sprite(); private var points:Array = new Array(); private var my:Main; private function cNC():void { var s_p:Array = points[0]; x = cGP(s_p[0]); y = cGP(s_p[1]); // что-то невообразимое и судя по всему ненужное закомментировано ниже /*var c:Array = points_CC; cr.push(c); cMC.addChild(c);*/ ++c_s; } |
|
|||||
Регистрация: Jan 2011
Сообщений: 247
|
Ваш вариант выше описанный я уже пробовал он не подходит =(
вообще если не перемещать и когда все работает то при таком коде : private var points:Array = new Array(); private var my:Main; public function CC(pts:Array, t:Main):void { points = pts; my = t; var s_p:Array = points[0]; trace(points); trace(s_p); x = cGP(s_p[0]); y = cGP(s_p[1]); trace(x,y); } Output: 0,2,10,2,10,6,2,6,2,10,22,10,22,4,15,4,15,2,12,2,12,8,25,8 0,2 -10 30 Добавлено через 27 часов 48 минут Все ошибку нашел и исправил, тему можно закрывать. |
Часовой пояс GMT +4, время: 10:53. |
|
« Предыдущая тема | Следующая тема » |
|
|