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

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

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

Регистрация: Jun 2005
Сообщений: 34
По умолчанию Type was not found при наследовании.

работаю во Flashdevelop. в папке src создаю папку panels. в папке panels создаю класс BasicPanel extends Sprite. В этой же папке создаю класс MainDrawObjectsPanel, который наследуется от BasicPanel.

в классе Main делаю импорт import panels.*;
в итоге в классе Main проекта объект базового класса BasicPanel создается без проблем. объект класса MainDrawObjectsPanel создать не могу т.к. вылезает Error: Type was not found or was not a compile-time constant: MainDrawObjectsPanel.


делал классы и public и internal, в одном файле, в разных и все в различных вариациях. но комилятор не видит типа расширенного класса. объясните мне в чем моя ошибка. я бьюсь с этим г*вном уже 2й день. спасибо.
код классов на всякий случай. некоторые функции не пишу, т.к. в данном вопросе они роли не играют.

BasicPanel.as:

Код AS3:
package panels
{
 
 
	import flash.display.Shape;
	import flash.display.Sprite;
	import caurina.transitions.Tweener;
	import flash.events.Event;
 
 
 
 
	public class BasicPanel extends Sprite  
	{
 
 
		public var isShown:Boolean;
		public var movingContainer:Sprite;
		private var x0:uint;
 
 
 
 
		public function BasicPanel() {
 
			buildInterface();
 
		}
       }
}

MainDrawObjectsPanel.as:

Код AS3:
package panels
{
 
 
 
	import panels.BasicPanel;
	import flash.display.Sprite;
	//import caurina.transitions.Tweener; 
 
 
	class  MainDrawObjectsPanel extends BasicPanel
	{
 
		public function MainDrawObjectsPanel() {
 
 
			someNewFunction()
 
		}
 
 
		private function  someNewFunction():void {
			trace(123);
		}
	}
 
}
__________________
Автор благодарит алфавит за предоставленые буквы.


Последний раз редактировалось uncle_sam; 28.04.2010 в 15:01.
Старый 28.04.2010, 15:26
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 2  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
Класс MainDrawObjectsPanel нужно сделать public. И в разных файлах каждый написать.
Создать новый проект в отдельной папочке только с этими 2мя классами, убедиться, что они лежат в папке panels. Программно создать BasicPanel и MainDrawObjectsPanel. Если во флэше работаете, то не назначайте в тестовом проекте эти классы для библиотечных символов.
Напишите классы вначале без функций, а потом добавляйте по одной.


Последний раз редактировалось i.o.; 28.04.2010 в 15:28.
Старый 28.04.2010, 15:59
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 3  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Класс MainDrawObjectsPanel по умолчанию internal, т.е. доступен только в пакете.

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

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
Код AS3:
package 
{
	import flash.display.Sprite;
	import flash.events.Event;
	import panels.MainDrawObjectsPanel;
 
	/**
	 * ...
	 * @author k0t0vich
	 */
	public class Main extends Sprite 
	{
 
		public function Main():void 
		{
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}
 
		private function init(e:Event = null):void 
		{
			removeEventListener(Event.ADDED_TO_STAGE, init);
			// entry point
			var test:MainDrawObjectsPanel = new MainDrawObjectsPanel();
 
		}
 
	}
 
}
Код AS3:
package panels 
{
	import flash.display.Sprite;
 
	/**
	 * ...
	 * @author k0t0vich
	 */
	public class BasicPanel extends Sprite
	{
 
		public function BasicPanel() 
		{
			super();
			buildInterface();
		}
 
		private function buildInterface():void
		{
			trace("BasicPanel.buildInterface");
 
		}
 
	}
 
}
Код AS3:
package panels 
{
	import panels.BasicPanel;
 
	/**
	 * ...
	 * @author k0t0vich
	 */
	public class MainDrawObjectsPanel extends BasicPanel
	{
 
		public function MainDrawObjectsPanel() 
		{
			super();
			someNewFunction();
		}
 
		private function someNewFunction():void
		{
			trace("MainDrawObjectsPanel.someNewFunction");
 
		}
 
	}
 
}
output:
Цитата:
BasicPanel.buildInterface
MainDrawObjectsPanel.someNewFunction
FD проект во вложении test.zip.
__________________
Отряд Котовскага

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

Регистрация: Jun 2005
Сообщений: 34
рассматривал и такой вариант, думал дело в super() но все равно видимо величина радиуса кривизны моих рук еще достаточно велика...
Котяра, в итоге скопировал ваши файлы, заменив свои и omfg! в трэйсе тоже самое что и у вас. СПАСИБО БОЛЬШОЕ!!! Вы - настоящий котяра! ^_^
Не ожидал что так быстро придут ответы. Еще раз всем спасибо!!!
__________________
Автор благодарит алфавит за предоставленые буквы.

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

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

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


 


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


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