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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 27.12.2008, 07:11
root.Unknown вне форума Посмотреть профиль Отправить личное сообщение для root.Unknown Найти все сообщения от root.Unknown
  № 11  
Ответить с цитированием
root.Unknown

Регистрация: Dec 2008
Сообщений: 20
В общем есть проблема с прелоадером... Прочитав всю тему с 1-й до этой страници я выправил несколько ошибок, но все таки некоторые остались, я использую Flash CS3, 9-ка...
Опишу все как есть и сколько ошибок и каких выбевает на этом не легком пути к истине...

Значит в fl файле 3-и кадра, 1-й кадр прелоадер, 2-й кадр кнопка Start, 3-й кадр сцена с игрой...

Расположил на первом кадре MovieClip под названием "preloader" в котором текстовое поле с id: txt, ну и стоит Dynamic Text, и MovieClip под названием "progressbar" с Instanse of: progressbar
В MovieClip-е с названием "preloader" поставил в Linkage... галочку Export for AS, прописал класс: main.preloader, это внешний файл лежащий в папке main с названием preloader.as
На первом кадре в главной сцене(root), во фрейме написал stop();

Код на внешний файл preloader.as

Код AS3:
package main {
	import flash.display.MovieClip;
	import flash.events.*;
 
	dynamic public class preloader extends MovieClip {
		public function preloader() {
			// Нужно периодически вызывать функцию Update, которая будет обновлять процент загрузки
			// Используем старый-добрый onEnterFrame с учетом событий AS3
			addEventListener(Event.ENTER_FRAME, Update);
		}
 
		public function Update(e : Event):void {
			var bytesLoaded:Number = stage.loaderInfo.bytesLoaded;
			var bytesTotal:Number = stage.loaderInfo.bytesTotal;
			var s:String = "";
			var percent:Number = 0;
			if (bytesTotal>0){
				percent = Math.floor(bytesLoaded/bytesTotal*100);
				s = percent+"% ("+
				Math.round(bytesLoaded/1024)+"kb / "+
				Math.round(bytesTotal/1024)+"kb)";
			}
			this.txt.text="Loading... "+s;
			this.progressbar.gotoAndStop(percent+1);
			// Если полностью загрузились, то переходим на второй кадр
			if (bytesLoaded==bytesTotal || bytesTotal==0){
			removeEventListener(Event.ENTER_FRAME, Update);
			if (parent is MovieClip) {
	MovieClip(parent).play();
				}
			}
		}
	}
}
Всё прально вроде бы, но при компиляции выскакивает ошибка:
preloader.as Line 1 1046: Type was not found or was not a complite-time constant: TextField.

Причем здесь TextField, я же написал dynamic public class preloader extends MovieClip { и выбрал для текстового поля Dynamic text, указал в нем ID: txt )))))

В общем думал справлюсь сам, но после 4 часов над исправлением ошибок одна за другой замучался, тут я уже пришел в тупик, что оно от меня хочет?
Подскажите пожалуйста, уже нету сил с ним боротся, код по прочтению всей темы я так понял писался для FL v. 8... Повторюсь, у меня 9-ка...

Добавлено через 5 часов 18 минут
Разобрался сам, опять моя ошибка...
Забыл написать import flash.text.TextField; Хотя в примере игры, в файле preloader.as автора этой строки нету )))))

Хотя у меня еще возник один вопрос, при компеляции файла, в Flash CS3 компилирую Ctrl+Enter, в окне Player-а в меня View > Simulate Download показывается что файл грузится... но в самом флег окне загрузка прелоадера, то есть отображения мувиклипа самого показывается только тогда, когда % дошел до 80 и только после 80, прелоадер отображается и эта полоска загрузки добегает четверь всей длины, у меня вопрос, почему эта полоска загрузки не с 0% начинает отображаться?


Последний раз редактировалось root.Unknown; 27.12.2008 в 12:34.
Создать новую тему   Часовой пояс GMT +4, время: 09:45.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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