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

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

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

Регистрация: Apr 2012
Сообщений: 88
Attention Работа с классами, нужно уточнение.

Есть основной класс, класс Документа.
Код AS3:
package{
	import flash.display.*;
	import flash.net.*;
	import flash.events.*;
	public class MyGame extends MovieClip{
	var objects:Array=new Array();//Массив 
	public function addb(onj):void{
		objects.push(onj);///Добавляем обж в массив требуется для дальнейшей работы.
	}
}
Существует класс объекта, который надо занести в массив
Код AS3:
package{
	import flash.display.*;
	import flash.net.*;
	import flash.events.*;
	public class blocks extends MovieClip{
		public function blocks() { 
			var obj:MyGame=new MyGame();///Вроде как создаю
			obj.addb(Boj);///Вроде как применяю и записываю
		}//function
	}
}//pack
Выдает ошибку для каждого объекта который на сцене.

Код:
Error: Error #2136: SWF-файл file:///D|/FLASHDEVELOPER/Test/Game.swf содержит недопустимые данные.
	at blocks()
	at flash.display::Sprite/constructChildren()
	at flash.display::Sprite()
	at flash.display::MovieClip()
	at MyGame()


Последний раз редактировалось iNils; 23.04.2012 в 15:33.
Старый 23.04.2012, 01:52
illuzor вне форума Посмотреть профиль Отправить личное сообщение для illuzor Найти все сообщения от illuzor
  № 2  
Ответить с цитированием
illuzor
 
Аватар для illuzor

Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
Этот код ужасен...

Цитата:
Есть основной класс, класс Документа.
Существует класс объекта, который надо занести в массив
Похоже, что у вас совсем наоборот. Изучите хоть основы as3 что ли...

Даже не знаю, как надо думать, чтоб так придумать...

Чтоб это хоть как-то заработало, надо делать приблизительно так:

Код AS3:
package {
 
	import flash.display.*;
	import flash.events.*;
	import flash.net.*;
 
	public class MyGame extends Sprite{
 
		private var objects:Array = new Array(); //Массив 
 
		public function MyGame():void {
 
			var onj:Blocks = new Blocks();
			objects.push(onj); ///Добавляем обж в массив требуется для дальнейшей работы.
 
		}
 
	}
}
 
package {
 
	import flash.display.*;
	import flash.events.*;
	import flash.net.*;
 
	public class Blocks extends MovieClip{
 
		public function Blocks() {
			// ???
		}
	}
}


Последний раз редактировалось illuzor; 23.04.2012 в 01:57.
Старый 23.04.2012, 02:11
Mkey вне форума Посмотреть профиль Отправить личное сообщение для Mkey Найти все сообщения от Mkey
  № 3  
Ответить с цитированием
Mkey
 
Аватар для Mkey

Регистрация: Apr 2012
Сообщений: 88
Разве то, что в конструкторе не будет исполнятся только один раз? При запуске флэш программы. И следователям в массиве будет только одно значение?

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

Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
Я просто написал код, который вообще будет работать, в отличии от вашего.
Добавляйте в массив, что у годно, хоть миллион раз.

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

Регистрация: Apr 2012
Сообщений: 88
Ну ты Вася... Почему я не могу использовать метод основного класса в другом? Который вызывается столько раз сколько мне нужно? Из за чего выходит ошибка? Объясни мне знаток, а то одним гавном в меня бросаешься.

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

Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
Да без проблем. Только сначала в этом другом классе нужно получить ссылку на экземпляр основного класса.

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

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

блогер
Регистрация: Dec 2010
Сообщений: 237
Записей в блоге: 5
Код AS3:
package {
  import flash.net.*;
  import flash.events.*;
 
  public class MyGame extends MovieClip{
    private static var objects:Array=new Array();
 
    public static function addb(onj):void{
      objects.push(onj);
    }
}
Код AS3:
package{
  import flash.display.*;
  import flash.net.*;
  import flash.events.*;
 
  public class blocks extends MovieClip{
    public function blocks() { 
      MyGame.addb(Boj);
    }//function
  }
}
Документ-класс повторно создавать не надо и не получится.
__________________
Дебаггер не предлагать

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

Регистрация: Apr 2012
Сообщений: 88
Спасибо всем.

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

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

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


 


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


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