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

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

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

Регистрация: Jul 2011
Сообщений: 49
По умолчанию Ошибка 1007 объект не конструктор

в файле .fla класс GlobalPackege указан как главный.

Пакет в котором он распологается имеет код.

Код AS3:
package { 
	import flash.display.Sprite; 
	public class GlobalPackege extends Sprite { 
		public var ControlsCheck
		public var Controls
		public var general_container
		public function GlobalPackege() {
			general_container=new Sprite();
			stage.addChildAt(general_container,0);
 
			Controls = new Controls(this)				
		} 
	} 
}
После запуска вылезает ошибка.

Код:
TypeError: Error #1007: Попытка реализации в объекте, который не является конструктором.
	at GlobalPackege()
Посоветуйте чейндж кода пжалст.

Старый 02.08.2011, 17:53
Aquahawk вне форума Посмотреть профиль Отправить личное сообщение для Aquahawk Посетить домашнюю страницу Aquahawk Найти все сообщения от Aquahawk
  № 2  
Ответить с цитированием
Aquahawk
 
Аватар для Aquahawk

Регистрация: Nov 2010
Адрес: Москва
Сообщений: 915
Записей в блоге: 4
Отправить сообщение для Aquahawk с помощью ICQ Отправить сообщение для Aquahawk с помощью Skype™
Controls это переменная. Тип вы ей не задали, и пытаетесь из неё что-то создать и в неё же записать. Естественно это не работает.

Старый 02.08.2011, 17:55
tsarapkabel вне форума Посмотреть профиль Отправить личное сообщение для tsarapkabel Найти все сообщения от tsarapkabel
  № 3  
Ответить с цитированием
tsarapkabel
 
Аватар для tsarapkabel

Регистрация: Nov 2009
Адрес: в златоглавой
Сообщений: 745
Код AS3:
package  {
 
	import flash.display.Sprite;
 
	public class GlobalPackege extends Sprite {
		public var controlsCheck:ControlsCheck;
		public var controls:Controls;
		public var general_container:Sprite;
 
		public function GlobalPackege() {
			general_container = new Sprite();
			stage.addChildAt(general_container,0);
 			Controls = new Controls(this);				
		} 
 
	}
 
}
Не надо переменные называть также как классы. Типизацию не забываем. Ну и ';' для полноты картины.
__________________
Нормально делай — нормально будет!


Последний раз редактировалось tsarapkabel; 02.08.2011 в 18:00.
Старый 02.08.2011, 17:58
MIHAnik вне форума Посмотреть профиль Отправить личное сообщение для MIHAnik Найти все сообщения от MIHAnik
  № 4  
Ответить с цитированием
MIHAnik

Регистрация: Jul 2011
Сообщений: 49
Смотрю в пример один, там тож так реализованно, у меня есть файл Controls.as. Мне нужно как то сослаться на него в этом случае?

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

Регистрация: Nov 2009
Адрес: в златоглавой
Сообщений: 745
import если он в другой папке
__________________
Нормально делай — нормально будет!

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

Регистрация: May 2010
Сообщений: 543
и еще для общего развития: мне всё-таки что-то подсказывает, что правильнее будет не GlobalPackege, а GlobalPackage, ну если, конечно, название вашего класса не несет более таинственный смысл, который я не смог уловить.
__________________
Вы грабите бедных людей. Парень со свирелью накажет вас. Хонгильдон (с)

Старый 02.08.2011, 18:50
MIHAnik вне форума Посмотреть профиль Отправить личное сообщение для MIHAnik Найти все сообщения от MIHAnik
  № 7  
Ответить с цитированием
MIHAnik

Регистрация: Jul 2011
Сообщений: 49
carrotoff, ладно ладно учту. Опечататься уже нельзя.
tsarapkabel, нет в тойже папке. Что делать с ошибкой? подскажи.


Последний раз редактировалось MIHAnik; 02.08.2011 в 18:58.
Старый 02.08.2011, 18:58
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 8  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

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

Старый 02.08.2011, 19:06
MIHAnik вне форума Посмотреть профиль Отправить личное сообщение для MIHAnik Найти все сообщения от MIHAnik
  № 9  
Ответить с цитированием
MIHAnik

Регистрация: Jul 2011
Сообщений: 49
goodguy,Вот его код.

Код AS3:
package
{
	import flash.display.Sprite;
	import flash.events.*
	import flash.text.TextField;
 
	dynamic public class Controls extends Sprite
	{
		private var isW:Boolean = false; // 87
		private var isA:Boolean = false; // 65
		private var isS:Boolean = false; // 83
		private var isD:Boolean = false; // 68
 
		public function Controls(GlobPak)
		{
			stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
			stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp);
			stage.addEventListener(MouseEvent.MOUSE_DOWN, Messege);
		}
 		private function Messege(){
			trace("input_MOUSE_DOWN")
			GlobPak.ControlsCheck=1
		}
		private function onKeyDown(event:KeyboardEvent):void 
		{
			trace("input")
			if (event.keyCode == 87)
			{
				isW = true;
			}
			else if (event.keyCode == 65)
			{
				isA = true;
			}
			else if (event.keyCode == 83)
			{
				isS = true;
			}
			else if (event.keyCode == 68)
			{
				isD = true;
			}
 
			if (isA && isS && isD)
			{
				trace("You press A, S, D");
			}
			else if (isA && isS)
			{
				trace("You press A and S");
			}
 
		}
 
		private function onKeyUp(event:KeyboardEvent):void 
		{
			if (event.keyCode == 87)
			{
				isW = false;
			}
			else if (event.keyCode == 65)
			{
				isA = false;
			}
			else if (event.keyCode == 83)
			{
				isS = false;
			}
			else if (event.keyCode == 68)
			{
				isD = false;
			}
		} 
	} 
}

Старый 02.08.2011, 19:25
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 10  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Код AS3:
public function Controls(GlobPak)
		{
			stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
			stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp);
			stage.addEventListener(MouseEvent.MOUSE_DOWN, Messege);
		}
И нафига казе боян? Зачем передача чего либо в конструктор когда этим не пользуемся???! Однако потом фиг знает откуда начинаем пользоваться!! Ужас, читайте Муки , и вообще основы программирования! Вы видимо не понимаете, что у вас вообще происходит - а копипаст - это не для программеров
Код AS3:
private var _gp:SomeType;
public function Controls(gp:SomeType)
		{
			this._gp = gp;
 
		}
private function showMessege(){
			trace("input_MOUSE_DOWN")
			_gp.ControlsCheck=1
		}
__________________
Марк Tween

Создать новую тему Ответ Часовой пояс 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
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.