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

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

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

Регистрация: Jan 2011
Сообщений: 247
Attention Перенос массивов в другой класс

Мне нужно перенести массив с одного класса в другой,ну у меня не очень выходит...

первый файл AA.as
Код AS3:
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;
		}
Второй файл CC.as
Код AS3:
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]);
 
		}
Я сделал так ну это не правильно ERROR:
Код AS3:
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;
		}
Кто может подсказать что я упустил ?
За ранние благодарю.

Старый 15.07.2011, 09:38
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 2  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Посмотрел этот код несколько минут, так и не понял, что тут нужно сделать.
Советую для начала избавиться от таких уродливых названий свойств, и писать код в соответствии с AS3 конвенциями. Читать такое очень напрягает, тем более без комментариев.

Цитата:
За ранние
за ранние подснежники, видимо...

Старый 15.07.2011, 12:56
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 3  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
Если "за ранние" спасибо, тогда "в крациях" так: прочитайте, что такое классы, каким образом они объявляются, и да, не забудьте прочитать про конвенции наименований.
Массивы тут вообще ни причём.
__________________
Отряд Котовскага

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

Регистрация: Jan 2011
Сообщений: 247
Цитата:
Сообщение от goodguy Посмотреть сообщение
Посмотрел этот код несколько минут, так и не понял, что тут нужно сделать.
Советую для начала избавиться от таких уродливых названий свойств, и писать код в соответствии с AS3 конвенциями. Читать такое очень напрягает, тем более без комментариев.
за ранние подснежники, видимо...
Согласен с названиями свойств, а по поводу вопроса мне нужно CC.as перенести в AA.as , в моем случае когда я делаю у меня вылетает ошибка :
[Fault] exception, information=TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
на
Код AS3:
x = cGP(s_p[0]);
Цитата:
Если "за ранние" спасибо, тогда "в крациях" так: прочитайте, что такое классы, каким образом они объявляются, и да, не забудьте прочитать про конвенции наименований.
Массивы тут вообще ни причём.
Все это я в принцепи знаю, просто не могу понять почему объект сразу теряется...

Старый 15.07.2011, 15:35
Alkaz вне форума Посмотреть профиль Отправить личное сообщение для Alkaz Найти все сообщения от Alkaz
  № 5  
Ответить с цитированием
Alkaz

Регистрация: May 2006
Адрес: Нск
Сообщений: 91
Ваш русский язык и наименование переменных в коде напрочь отбивают желание разбираться в проблеме.
Однако же. Я так понял задача была перенести код из одного места в другое? Вроде бы это худо бедно сделано. Ошибка конкретно здесь:
Код AS3:
var s_p:Array = points_CC[0]; // == null
Видимо массив points_CC пуст, вы уверены что его заполняете? В старом коде передавался массив points, который вероятно в каком-то другом месте заполнялся, почему не использовать его?

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

Регистрация: Jan 2011
Сообщений: 247
Цитата:
Сообщение от Alkaz Посмотреть сообщение
Ваш русский язык и наименование переменных в коде напрочь отбивают желание разбираться в проблеме.
Однако же. Я так понял задача была перенести код из одного места в другое? Вроде бы это худо бедно сделано. Ошибка конкретно здесь:
Код AS3:
var s_p:Array = points_CC[0]; // == null
Видимо массив points_CC пуст, вы уверены что его заполняете? В старом коде передавался массив points, который вероятно в каком-то другом месте заполнялся, почему не использовать его?
Да вы все правильно поняли , сейчас немного поясню:
Код AS3:
//Попытаюсь еще рас поподробнее о вопросе рассказать 
var c:Sprite = new CC(points, my); // сюда входит и массив который объявлен в начале класса и [Object Main] (с главного класса Main)
// то есть когда я переношу сам класс CC в Main, я предпологаю что он уже не требует [Object Main] т.к. в нем находится поэтому я его "опускаю", и оставляю только points_CC:array , переименовую т.к. уже поинтс есть в данном классе.

Старый 15.07.2011, 17:03
Alkaz вне форума Посмотреть профиль Отправить личное сообщение для Alkaz Найти все сообщения от Alkaz
  № 7  
Ответить с цитированием
Alkaz

Регистрация: May 2006
Адрес: Нск
Сообщений: 91
а код вообще ваш?
а то мои наводящие вопросы что-то не действуют.
попробуйте такой вариант:
Код AS3:
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;
		}

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

Регистрация: Jan 2011
Сообщений: 247
Ваш вариант выше описанный я уже пробовал он не подходит =(
вообще если не перемещать и когда все работает то при таком коде :
Код AS3:
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, время: 02:33.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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