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

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

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

Регистрация: Jan 2007
Адрес: Минск
Сообщений: 781
Отправить сообщение для джонатан с помощью Skype™
По умолчанию Выскакивает Error #1009 по непонятным причинам.

Добрый день дамы и господа. Помогите пожалуйста разрешить мне маленькую проблемку. Я в АС3 новичёк, поэтому возможна моя беда вам покажется смешной, однако я уже отсчялся совсем, и пришел к вам за помощью. Значит так:

Флешка, представляет собой следующее:

В рут из библиотеки добавляется клим Welcom, в котором создается CheckBox и Button. По нажатию на кнопку, положение CheckBox.selected записывается в SharedObject, клип удаляется и добавляется другой. При повторном запуске, если чек бокс был выставлен, то сразу вызывается метод, который происходил по нажатию кнопки, после записи в Shared object, и выполнение метода прерывается. Так вот если чек бокс небыл выставлен, то все работает отлично, но если был, то выскакивает ошибка:

TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".

В методе skipWelcome(), parent ровняется null, однако this как и нужно = welcome. В чем проблема расскажите пожалуйста.

Собственно код, главный её класс:

Код AS3:
package com.flashgangsta {
 
	import flash.display.MovieClip;
	import flash.display.Sprite;
 
	public class Main extends Sprite {
 
		private var welcome:MovieClip;
 
		public function Main() {
			var welcome:MovieClip = new Welcome();
			addChild(welcome);
		}
	}
}
Класс Welcome:

Код AS3:
package com.flashgangsta {
 
	import flash.display.MovieClip;
	import fl.controls.Button;
	import fl.controls.CheckBox;
	import flash.net.SharedObject;
	import flash.events.Event;
	import flash.events.MouseEvent;
 
	public class Welcome extends MovieClip {
 
		private var skip:Button = new Button();
		private var dontShowAgain:CheckBox = new CheckBox();
		private var sharedObject:SharedObject = SharedObject.getLocal("skipWelcom");
 
		public function Welcome() {
			if(sharedObject.data.dontShowAgain) {
				skipWelcome(); // Вот тут возникает ошибка
				return;
			}
			dontShowAgain.label = "Не показывать в следующий раз";
			dontShowAgain.width = 202;
			dontShowAgain.selected = false;
			dontShowAgain.x = 300;
			dontShowAgain.y = 505;
			dontShowAgain.useHandCursor = true;
			addChild(dontShowAgain);
 
			skip.label = "Пропустить заставку"
			skip.width = 190;
			skip.x = 305;
			skip.y = 533;
			skip.useHandCursor = true;
			addChild(skip);
 
			skip.addEventListener(MouseEvent.CLICK, onSkipClicked);
 
			this.addEventListener(Event.ENTER_FRAME, checkMoviePlayingProgress);
		}
 
		private function onSkipClicked(event:Object):void {
			recordSharedObject();
			skip.removeEventListener(MouseEvent.CLICK, onSkipClicked);
			skipWelcome();
		}
 
		private function recordSharedObject():void {
			sharedObject.data.dontShowAgain = dontShowAgain.selected;
			sharedObject.flush();
		}
 
		private function skipWelcome():void {
			parent.addChild(new EastingStartMenu()); //parent = null
			parent.removeChild(this); //parent = null
		}
	}
}
Прилогаю исходник, там кода немного больше, для простоты я удалил ненужное тут.
Вложения
Тип файла: rar Easting.rar (391.7 Кб, 34 просмотров)
__________________
Убейте меня!


Последний раз редактировалось джонатан; 13.06.2010 в 22:14.
Создать новую тему   Часовой пояс GMT +4, время: 21:04.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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