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

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

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

Регистрация: Feb 2010
Сообщений: 811
Отправить сообщение для Universe с помощью ICQ Отправить сообщение для Universe с помощью Skype™
Arrow Внутренний прелоадер!

Добрый вечер!
Обычно делаю всю загрузку через внешний прилоадер и не борюс со всякого рода глюками, но вот попал на заказчика который из приципа хочет внутренний прилоадер аля AS2, типа так проще и удобнее будет потом работать. Насколько я понимаю первое что нужно сделать - это убрать экспорт классов в первый кадр(галочка в объекте и настройки Publish - экспортировать во второй кадр). Но как тлько я это делаю и пытаюсь на втором кадре создать объект из библиотеки - у меня вываливается ошибка 1180: Call to a possibly undefined method Pic.
т.е. он его перестаёт видеть, даже во втором кадре! Что я делаю не правильно?

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

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Посмотрите, как реализован прелоадер при создании проекта с прелоадером в FD.

Добавлено через 1 минуту
Код AS3:
package {
	import flash.display.Sprite;
	import flash.events.Event;
 
	[Frame(factoryClass="Preloader")]
	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
		}
	}
}
Код AS3:
package {
	import flash.display.DisplayObject;
	import flash.display.MovieClip;
	import flash.display.StageAlign;
	import flash.display.StageScaleMode;
	import flash.events.Event;
	import flash.events.IOErrorEvent;
	import flash.events.ProgressEvent;
	import flash.utils.getDefinitionByName;
 
	public class Preloader extends MovieClip {
 
		public function Preloader() {
			if (stage) {
				stage.scaleMode = StageScaleMode.NO_SCALE;
				stage.align = StageAlign.TOP_LEFT;
			}
			addEventListener(Event.ENTER_FRAME, checkFrame);
			loaderInfo.addEventListener(ProgressEvent.PROGRESS, progress);
			loaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioError);
 
			// TODO show loader
		}
 
		private function ioError(e:IOErrorEvent):void {
			trace(e.text);
		}
 
		private function progress(e:ProgressEvent):void {
			// TODO update loader
		}
 
		private function checkFrame(e:Event):void {
			if (currentFrame == totalFrames) {
				stop();
				loadingFinished();
			}
		}
 
		private function loadingFinished():void {
			removeEventListener(Event.ENTER_FRAME, checkFrame);
			loaderInfo.removeEventListener(ProgressEvent.PROGRESS, progress);
			loaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, ioError);
 
			// TODO hide loader
 
			startup();
		}
 
		private function startup():void {
			var mainClass:Class = getDefinitionByName("Main") as Class;
			addChild(new mainClass() as DisplayObject);
		}
	}
}
__________________
тут я

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

Регистрация: Feb 2010
Сообщений: 811
Отправить сообщение для Universe с помощью ICQ Отправить сообщение для Universe с помощью Skype™
т.е. здесь лоадер выступает просто отдельным классом или он является внешней swf'кой?

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

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Отдельный класс, который внедряется с помощью метатега
Код AS3:
[Frame(factoryClass="Preloader")]
__________________
тут я

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

Регистрация: Feb 2010
Сообщений: 811
Отправить сообщение для Universe с помощью ICQ Отправить сообщение для Universe с помощью Skype™
хм...интересно, впервые сталкиваюсь с подобной конструкцией

Старый 16.07.2011, 01:12
andrew911 вне форума Посмотреть профиль Отправить личное сообщение для andrew911 Найти все сообщения от andrew911
  № 6  
Ответить с цитированием
andrew911

Регистрация: Mar 2007
Сообщений: 545
http://www.flasher.ru/forum/blog.php?b=315

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

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
http://www.flasher.ru/forum/showthread.php?t=115191
__________________
тут я

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

Регистрация: Feb 2010
Сообщений: 811
Отправить сообщение для Universe с помощью ICQ Отправить сообщение для Universe с помощью Skype™
спасибо, КорДум, сейчас ознакомлюсь

Старый 26.07.2011, 22:41
BlackMetal вне форума Посмотреть профиль Отправить личное сообщение для BlackMetal Найти все сообщения от BlackMetal
  № 9  
Ответить с цитированием
BlackMetal

Регистрация: May 2009
Сообщений: 54
Объясните как пользоваться этим ПРЕЛОАДЕРОМ.
У меня проект, в планах 2 кадра в 1 прелоадер во 2 все остальное.

Я так понял, содаем отдельный класс PRELOADER + свой основной, но чего то я не понимаю куда втыкать пересчет % загрузки, и вообще скольки кадровый это прелоадер? я не вижу что он стопорит на втором фрейме или где то..

// TODO show loader
// TODO update loader
// TODO hide loader

немного не понимаю назначение этих точек..

Очень прошу помощи по использованию и прикручиванию к проекту данного подхода, объясните на примере как использовать, если кто то реализовывал, поделитесь исходником, только без илишеств.. т.е прелоадер и 2 кадр с картинкой в идеале.

Старый 26.07.2011, 22:44
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 10  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Здесь кадры вообще не нужны. Все делают метатеги.
Код AS3:
// TODO show loader
// TODO update loader
// TODO hide loader
TODO - это напоминалки, что нужно сделать:
показать прелоадер
перерисовывать прелоадер в прогрессе загрузки
скрыть прелоадер, зачистить слушатели и т.п.

Цитата:
но чего то я не понимаю куда втыкать пересчет % загрузки
Под второй TODO.
__________________
тут я

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

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

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


 


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


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