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

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

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

Регистрация: Mar 2015
Сообщений: 13
По умолчанию Прелоадер на Flash Builder

Всем привет, по этому вопросу есть масса инфы, но нет чёткого ответа.
А мне надо быстро сдавать проект, нет времени разбираться.
Игра у меня сделана на Flash Builder.
Подскажите как просто и быстро можно в нём реализовать прелоадер ?
Желатено с кодом =)
(Flash Pro использую только для загрузки в игру картинок)

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

Регистрация: Mar 2013
Адрес: Вне пространства.
Сообщений: 566
Отправить сообщение для Bletraut с помощью ICQ Отправить сообщение для Bletraut с помощью Skype™
Заэмбеддить в свою новую сфв с прелоадером свою свф с игрой и показывать насколько она загрузилась.
__________________
Я заклинаю вас действовать иначе.

Старый 23.09.2015, 18:25
Randi вне форума Посмотреть профиль Отправить личное сообщение для Randi Найти все сообщения от Randi
  № 3  
Ответить с цитированием
Randi

Регистрация: Mar 2015
Сообщений: 13
А можно подробнее ? Сейчас я много чего испробовал и ничего не получается. А именно прелоадер делаю главным в настройки прописываю -frame appFrame Main но прелоадер чтото загружает а создавать Майн не хочет =( выдаёт ошибку.

Добавлено через 2 минуты
Или может мне в Flash Pro сделать как то загрузочную оболочку ?

Старый 27.09.2015, 23:51
Randi вне форума Посмотреть профиль Отправить личное сообщение для Randi Найти все сообщения от Randi
  № 4  
Ответить с цитированием
Randi

Регистрация: Mar 2015
Сообщений: 13
Вообще ничего не получается
Неужели никто не делает прелоадеры ?

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

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

Старый 28.09.2015, 00:13
Randi вне форума Посмотреть профиль Отправить личное сообщение для Randi Найти все сообщения от Randi
  № 6  
Ответить с цитированием
Randi

Регистрация: Mar 2015
Сообщений: 13
Код AS3:
package
{
	import flash.display.DisplayObject;
	import flash.display.Shape;
	import flash.display.Sprite;
	import flash.display.StageAlign;
	import flash.display.StageScaleMode;
	import flash.events.Event;
	import flash.text.TextField;
	import flash.utils.getDefinitionByName;
 
	[SWF(frameRate="60", width="700", height="525", backgroundColor="0x000000")]
	public class Preloader extends Sprite
	{
		// Private
		private var _preloaderBackground:Shape
		private var _preloaderPercent:Shape;
		private var _checkForCacheFlag:Boolean = true;
		// Constants
		private static const MAIN_CLASS_NAME:String = "Cars";
 
		public function Preloader()
		{
			trace("Preloader: Initialized.")
			addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
 
			var txt:TextField = new TextField();
			txt.textColor = 0xffffff;
			txt.x = 350;
			txt.y = 250;
			txt.text = "Loading";
			addChild( txt );
		}
 
		public function dispose():void
		{
			trace("Preloader: Disposing.")
			removeEventListener(Event.ENTER_FRAME, onEnterFrame);
			if (_preloaderBackground)
			{
				removeChild(_preloaderBackground);
				_preloaderBackground = null;
			}
			if (_preloaderPercent)
			{
				removeChild(_preloaderPercent);
				_preloaderPercent = null;
			}
		}
 
		// Private functions
 
		private function onAddedToStage(e:Event):void
		{
			trace("Preloader: Added to stage.");
			removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
			stage.scaleMode = StageScaleMode.SHOW_ALL;
			stage.align = StageAlign.TOP_LEFT;
			addEventListener(Event.ENTER_FRAME, onEnterFrame);
		}
 
		private function onEnterFrame(e:Event):void
		{
			if (_checkForCacheFlag == true)
			{
				_checkForCacheFlag = false;
				if (root.loaderInfo.bytesLoaded >= root.loaderInfo.bytesTotal)
				{
					trace("Preloader: No need to load, all " + root.loaderInfo.bytesTotal + " bytes are cached.");
					finishedLoading();
				}
				else
					beginLoading();
			}
			else
			{
				if (root.loaderInfo.bytesLoaded >= root.loaderInfo.bytesTotal)
				{
					trace("Preloader: Finished loading all " + root.loaderInfo.bytesTotal + " bytes.");
					finishedLoading();
				}
				else
				{
					var percent:Number = root.loaderInfo.bytesLoaded / root.loaderInfo.bytesTotal;
					updateGraphic(percent);
					trace("Preloader: " + (percent * 100) + " %");
				}
			}
		}
 
		private function beginLoading():void
		{
			// Might not be called if cached.
			// ------------------------------
			trace("Preloader: Beginning loading.")
			_preloaderBackground = new Shape()
			_preloaderBackground.graphics.beginFill(0x333333)
			_preloaderBackground.graphics.lineStyle(2,0x000000)
			_preloaderBackground.graphics.drawRect(0,0,200,20)
			_preloaderBackground.graphics.endFill()
 
			_preloaderPercent = new Shape()
			_preloaderPercent.graphics.beginFill(0xFFFFFFF)
			_preloaderPercent.graphics.drawRect(0,0,200,20)
			_preloaderPercent.graphics.endFill()
 
			addChild(_preloaderBackground)
			addChild(_preloaderPercent)
			_preloaderBackground.x = _preloaderBackground.y = 10
			_preloaderPercent.x = _preloaderPercent.y = 10
			_preloaderPercent.scaleX = 0
		}
 
		private function updateGraphic(percent:Number):void
		{
			// Might not be called if cached.
			// ------------------------------
			_preloaderPercent.scaleX = percent
		}
 
		private function finishedLoading():void
		{
			var MainClass:Class = getDefinitionByName(MAIN_CLASS_NAME) as Class;
 
			if (MainClass == null)
				throw new Error("Preloader: There is no class \"" + MAIN_CLASS_NAME + "\".");
 
			var main:DisplayObject = new MainClass() as DisplayObject;
			if (main == null)
				throw new Error("Preloader: The class \"" + MAIN_CLASS_NAME + "\" is not a Sprite or MovieClip.");
 
			addChild(main);
			dispose();
		}
	}
}
Это прелоадер
Ещё в доп. аргёментах прописываю -frame appFrame Cars
Но как только прелоадер начинает создавать класс Cars, то ничего не происходит
При это тестовый класс создаётся
Вопрос, из-за чего может не создаться класс Cars
Ошибок там вроде нет, компилятор не ругается =)

Добавлено через 5 минут
Просто раньше Cars был по умолчанию и ошибок не возникало =/

Старый 28.09.2015, 00:48
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 7  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Метод finishedLoading() отрабатывает без ошибок?

Цитата:
прелоадер чтото загружает а создавать Майн не хочет =( выдаёт ошибку.
Какую ошибку?

Старый 28.09.2015, 01:04
djyamato вне форума Посмотреть профиль Отправить личное сообщение для djyamato Посетить домашнюю страницу djyamato Найти все сообщения от djyamato
  № 8  
Ответить с цитированием
djyamato
 
Аватар для djyamato

Регистрация: Feb 2006
Сообщений: 884
Записей в блоге: 2
Отправить сообщение для djyamato с помощью ICQ Отправить сообщение для djyamato с помощью Skype™
Следуя логике уважаемого Randi дорожный знак "Тупик" будет создавать тупик где-то на дороге, на которой он выставлен. Не могу согласиться с тем что прелоадер что-либо создает кроме того что касается прелоадера.

Старый 28.09.2015, 11:01
Randi вне форума Посмотреть профиль Отправить личное сообщение для Randi Найти все сообщения от Randi
  № 9  
Ответить с цитированием
Randi

Регистрация: Mar 2015
Сообщений: 13
Цитата:
Сообщение от udaaff Посмотреть сообщение
Метод finishedLoading() отрабатывает без ошибок?
Какую ошибку?
Он просто останавливает работу на том месте где я создаю главный класс игры. Я стал выводить флажки и последний флажок показался тот что перед созданием главного класса

При использовании вот этого метода
var MainClass:Class = getDefinitionByName(MAIN_CLASS_NAME) as Class;
MainClass равен null

И если явно создавать главный класс то тоже ничего не получится

Старый 28.09.2015, 11:14
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 10  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Может быть вы имя не полное указываете?

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

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

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


 


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


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